• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > asp.net使用DataGridTree实现下拉树的方法

asp.net使用DataGridTree实现下拉树的方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了js调用asp.net方法,asp.net,asp net培训,asp和asp.net的区别,零基础学asp.net等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了asp.net使用DataGridTree实现下拉树的方法。分享给大家供大家参考。具体实现方法如下:

下拉树实现原理:输出json到客户端,客户端实现动态加载,中间不会和服务端交互。数据量支持上经测试几千还是很快的。本下拉树控件是用c#+js树实现。

2.c# 计算器 计算字符串数学表达式源码

计算数学表达式原理 采用c#实现 很实用
//a.建立两个栈:第一个位操作数栈,第二个操作符符栈!(将栈定义为string类型)
//b.对数字来说是无条件压入数字栈中.
//c.而对符号来说,只有当前栈顶元素的优先值小于扫到的符号时(比如”+”小于”*”),此符号才压入栈;否则大于等于的情况是将当前栈顶元素弹出栈,与当前数字栈的前两个数字组成式子进行计算.计算结果当作数字压入数字栈作为栈顶元素(要舍弃已经弹出的两个数字),而那个扫描到的符号则将代替那个弹出的符号作为栈顶元素)。
//d.最后说一下括号,原则是扫描到左括号时无条件压入符号栈,而扫到右括号时,则弹出离栈顶最近的一个左括号以上的全部符号与数字栈的数字做运算

3.asp.net教程 datagridtree表格树控件 

继承asp.net的datagrid控件实现的表格树控件
/*表格树控件说明
* 此控件继承datagrid 新增属性说明:
* 1.treeparentcode:顶级根节点parentcode
* 2.treedisplaydeep:展现表格树深度默认为1
* 3.sumcolumns:自动汇总到根节点的字段集合 针对 decimal类型
* 4.新增树状列模板templatetreecolumn 此模板继承了templatecolumn 重写了方法initializecell
* 客户端新增特性配置说明
* 1.固定列 配置 itemstyle-css教程class='tdlockedclass'
* 2.固定表头 配置 headerstyle-cssclass='trlockedclass'
* 3.文本框 input 或 <asp:textbox 配置事件onchange='sumparent(this);' 数字改变相应所有父节点也随着改变 针对数字型 其他不支持
* 不过可以自定义js
* 报表说明:
* 1.datagridtree.enableviewstate=false;提高加载速度
* 2.动态定义列 实现 boundcolumn column = new boundcolumn();
column.headertext = "动态列";
column.datafield = "unitname";
datagridnew.columns.add(column);
* 也可以自定义默认模板 动态加载模板 定义模板例子templatetreecolumn,不用继承templatecolumn,实现接口 itemplate initializecell 方法就可以了
* 不足之处:1.对于复杂多行表头 不知 如何实现
* 2.表头和列固定 数据量大时 会影响反映速度 一千左右的数据量 还时没问题的 数据量在大的话 课考虑采用ajax动态加载 目前此功能还没实现
实例代码
{
//每向下一层,多一个缩入单位  
i++;
dataview dvnodesets = new dataview(dtnodesets);
dvnodesets.rowfilter = strparentcolumn + "=" + strrootvalue;
string strpading = ""; //缩入字符 
//通过i来控制缩入字符的长度,我这里设定的是一个全角的空格  
for (int j = 0; j < i; j++)
strpading += " ";//如果要增加缩入的长度,改成两个全角的空格就可以了 
foreach (datarowview drv in dvnodesets)
{
treenode tnnode = new treenode();
listitem li = new listitem(strpading + "├" + drv[strtextcolumn].tostring(), drv[strindexcolumn].tostring());
drpbind.items.add(li);
maketree(dtnodesets, strparentcolumn, drv[strindexcolumn].tostring(), strindexcolumn, strtextcolumn, drpbind, i);
}
//递归结束,要回到上一层,所以缩入量减少一个单位  
i--;
}
/// <summary>  
/// sql语句查询,再绑定到droplist里面  
/// </summary>  
private void createtree()
{
//查询zonelist  
string sql = "select * from master_department where parent_department='003'";
dataset ds = db.getds();
datatable dt = ds.tables[0];
maketree(dt, "parent_department", "003", "department_code", "department_name", dropdownlist1, -1);
}</div>
网上找的另一个比较好的实例
using system.collections.generic;
using system.text;
using system.web.ui.webcontrols;
namespace interface.common
{
    public interface idropdowntree : idisposable
    {
        /**//// <summary>
        /// 返回dictionary里分别对应id,文本,如果没有子节点返回null
        /// </summary>
        /// <param name="parentid">父节点id</param>
        /// <returns></returns>
        dictionary<string, string> getchildcategory(string parentid);
        /**//// <summary>
        /// 代码里写return new interface.common.dropdowntree(this);
        /// </summary>
        dropdowntree dropdowntree
        {
            get;
        }
    }
    public sealed class dropdowntree
    {
        idropdowntree _dropdowntree;
        public dropdowntree(idropdowntree dropdowntree)
        {
            _dropdowntree = dropdowntree;
        }
        /**//// <summary>
        /// 用于树的前缀
        /// </summary>
        /// <param name="islast">是否是同级节点中的最后一个</param>
        /// <param name="haschild">本节点是否拥有子节点</param>
        /// <param name="parentstring">父节点前缀符号</param>
        /// <returns>本节点的前缀</returns>
        private string getprefix(bool islast, bool haschild, string parentstring)
        {
            string result = string.empty;
            if (!string.isnullorempty(parentstring))
            {
                parentstring = parentstring.remove(parentstring.length - 1).replace("├", "│").replace("└", " ");
                result += parentstring;
            }
            if (islast)
            {
                result += "└";
  &nbs

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ASP.NET Core发送邮件的方法
  • ASP.NET 定时器回调方法的重入
  • ASP.NET数据库存取图片的方法
  • asp.net上传图片到服务器方法详解
  • ASP.NET中利用WebClient上传图片到远程服务的方法
  • asp.net创建事务的方法
  • Asp.Net修改上传文件大小限制方法
  • ASP.NET文件上传Upload的实现方法
  • ASP.NET中制作各种3D图表的方法
  • ASP.NET文件上传Upload的实现方法

相关文章

  • 2017-05-11Asp.Net MVC 分页、检索、排序整体实现代码
  • 2017-05-11asp.net 的错误处理机制讲解
  • 2017-05-11dhtmlxGrid 添加行号详细步骤
  • 2017-05-11让Asp.NET的DataGrid可排序、可选择、可分页
  • 2017-05-11DataGridView中绑定DataTable数据及相关操作实现代码
  • 2017-05-11Asp.Net 动态页面转静态页面主要代码
  • 2018-08-20.Net MVC实现长轮询
  • 2017-05-11使用HtmlAgilityPack XPath 表达式抓取博客园数据的实现代码
  • 2017-05-11ASP.NET 根据汉字获取汉字拼音的首字母(含多音字)
  • 2017-05-11ASP.NET Session会导致的性能问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 在ASP.NET使用JavaScript显示信息提示窗口实现原理及代码
    • ASP.net在页面所有内容生成后、输出内容前对页面内容进行操作
    • asp.net 数组中字符串替换的几种方式
    • asp.net mvc4 mysql制作简单分页组件(部分视图)
    • ASP.NET中在不同的子域中共享Session的具体方法
    • ASP.NET中操作SQL数据库(连接字符串的配置及获取)
    • asp.net 合并GridView中某列相同信息的行(单元格)
    • 关于asp.net 自定义分页控件
    • Repeater控件与PagedDataSource结合实现分页功能
    • asp.net通过js实现Cookie创建以及清除Cookie数组的代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有