asp.net 的TreeView递归加载
来源:互联网 发布:vb编写软件 编辑:程序博客网 时间:2024/05/17 21:59
UnitData 为类型化数据集,字段包括UnitCode,UnitName
其中UnitCode的规则为每两位递增。
00
0001
000101
0002
000201
000202
01
依此类推。
tvnUnit为TreeView控件
protected void Page_Load(object sender, EventArgs e)
...{
if (!Page.IsPostBack)
...{
UnitData uData = uRules.GetUnitData(string.Empty);
LoadNodes(uData, null, 1);
tvUnit.CollapseAll();
}
}
private void LoadNodes(UnitData uData, TreeNodeCollection parentNodes, int times)
...{
TreeNode nodeStart;
if (parentNodes == null)
...{
nodeStart = new TreeNode("从这里开始", string.Empty);
tvUnit.Nodes.Add(nodeStart);
parentNodes = new TreeNodeCollection();
parentNodes.Add(nodeStart);
tvUnit.Nodes.Add(nodeStart);
LoadNodes(uData, parentNodes, times);
}
else
...{
bool hasChildren = false;
TreeNodeCollection tmpNodes = new TreeNodeCollection();
foreach (TreeNode node in parentNodes)
...{
UnitData.UnitRow[] rows;
rows = (UnitData.UnitRow[])uData.Unit.Select("LEN(unitcode)=" + unitCodeIndent * times + " AND unitcode LIKE '" + node.Value + "%'", "unitcode");
string valuePath = GetValuePath(node);
foreach (UnitData.UnitRow row in rows)
...{
hasChildren = true;
tvUnit.FindNode(valuePath).ChildNodes.Add(new TreeNode(row.UnitName, row.UnitCode));
tmpNodes.Add(new TreeNode(row.UnitName, row.UnitCode));
}
}
parentNodes = tmpNodes;
if (hasChildren)
...{
LoadNodes(uData, parentNodes, ++times);
}
}
}
...{
if (!Page.IsPostBack)
...{
UnitData uData = uRules.GetUnitData(string.Empty);
LoadNodes(uData, null, 1);
tvUnit.CollapseAll();
}
}
private void LoadNodes(UnitData uData, TreeNodeCollection parentNodes, int times)
...{
TreeNode nodeStart;
if (parentNodes == null)
...{
nodeStart = new TreeNode("从这里开始", string.Empty);
tvUnit.Nodes.Add(nodeStart);
parentNodes = new TreeNodeCollection();
parentNodes.Add(nodeStart);
tvUnit.Nodes.Add(nodeStart);
LoadNodes(uData, parentNodes, times);
}
else
...{
bool hasChildren = false;
TreeNodeCollection tmpNodes = new TreeNodeCollection();
foreach (TreeNode node in parentNodes)
...{
UnitData.UnitRow[] rows;
rows = (UnitData.UnitRow[])uData.Unit.Select("LEN(unitcode)=" + unitCodeIndent * times + " AND unitcode LIKE '" + node.Value + "%'", "unitcode");
string valuePath = GetValuePath(node);
foreach (UnitData.UnitRow row in rows)
...{
hasChildren = true;
tvUnit.FindNode(valuePath).ChildNodes.Add(new TreeNode(row.UnitName, row.UnitCode));
tmpNodes.Add(new TreeNode(row.UnitName, row.UnitCode));
}
}
parentNodes = tmpNodes;
if (hasChildren)
...{
LoadNodes(uData, parentNodes, ++times);
}
}
}
- asp.net 的TreeView递归加载
- asp.net treeview递归写法
- ASP.NET 递归 绑定TreeView
- asp.net中TreeView控件的递归呈现方法
- ASP.NET树形控件TreeView的递归绑定
- ASP.NET的TreeView
- asp.net中加载TreeView的模态对话框
- asp.net中TreeView的大数据加载速度优化
- asp.net中TreeView的大数据加载速度优化
- asp.net treeview递归写法(详细!!!)
- ASP.NET 递归 生成树 TreeView
- ASP.NET TreeView 递归绑定数据
- asp.net 动态添加 treeview 递归
- ASP.NET通过递归添加树(Treeview)
- 采用递归算法为TreeView控件加载节点(节点信息保存于SqlServer) ASP.Net相...
- asp.net中TreeView异步延迟加载
- asp.net中TreeView异步延迟加载
- TreeView的ASP.NET实现
- 不要自怨自艾
- BI构架及相关技术简介(下)
- getAttribute 和 getParameter 的区别
- 写在年关
- CSS中的滑动门技术
- asp.net 的TreeView递归加载
- Div+CSS布局入门教程
- javaBean+tomcat+MySql数据库连接池三步曲(原创)
- Log4J用法
- Java基础知识——Java入门与加深
- jsp入门
- 06年21大科技丑闻出炉:索尼电池起火居首
- 我要开始写我的blog日志了
- 常见时间处理问题