1 0 aaaaaa1
2 0 bbbbbb2
3 0 cccccc3
4 3 dddddd4
5 4 asd5
6 4 asdas6
7 5 adsad7
8 6 adsad8
9 8 adsdasd9
10 9 asdad10
11 6 adsadsd11
12 4 asdadasd12
谁可以通过上面的数据来实现一个TreeView
我真的对自己无言想n种方法都是提示一个错
网上找的也一样
(未处理的“System.StackOverflowException”类型的异常出现在 System.Data.dll 中。)
确保你没有无限循环和无限递归
2 0 bbbbbb2
3 0 cccccc3
4 3 dddddd4
5 4 asd5
6 4 asdas6
7 5 adsad7
8 6 adsad8
9 8 adsdasd9
10 9 asdad10
11 6 adsadsd11
12 4 asdadasd12
谁可以通过上面的数据来实现一个TreeView
我真的对自己无言想n种方法都是提示一个错
网上找的也一样
(未处理的“System.StackOverflowException”类型的异常出现在 System.Data.dll 中。)
确保你没有无限循环和无限递归
解决方案 »
- 关于jquery,vs2010不能智能提示event.preventDefault()
- TFS安装失败 提示说SQL Server 实例与 Team Foundation Server 2008 不兼容
- 关于TreeView的问题
- 求问怎样使控件的位置位于浏览器窗口底部
- 连接未关闭。连接的当前状态为已打开
- ItemColumns中的Label如何使用<%# %>
- 求ajax和asp.net的电子文档吗?
- 数据类型问题:
- 调用dsoframer.ocx出错
- 难题,有没有办法在IIS启动时立即自动加载我自己的一个ISAPI服务器扩展DLL?
- ASP中使用的IP控制语句,在CS中如何写
- 如何测试返回值为空?急
{
List<SysFun> list = SysFunManager.GetSysFunByParentNodeId(parentId);
TreeNode node;
foreach (SysFun sys in list)
{
node = new TreeNode();
node.Text = sys.displayName;
node.Value = sys.nodeId.ToString();
nodes.Add(node);
CreateTreeView(node.ChildNodes, sys.nodeId);
}
}this.CreateTreeView(this.treeMenu.Nodes, 0);你数据库的第二列是父节点的吧
在这程序里就是parentId
treeMenu 就是你拖上的一个treeview控件
把文件生成一个XML文件。
1:将该文本序列格式化为一个集合,设为List<elemnt> es。集合中的元素为以下类型:
public class element
{
public int Id{get;set;}
public int ParentId{get;set;}
public int Text{get;set;}
}
分别对应上述3列。
3:采用递归或其它方法向TreeView中添加节点。
大体类似于:
public void addChildren(TreeNode tn,int parentId)
{
var k = from e in es where e.ParentId =parentId;
foreach(var t in k)
{
var newNode = new TreeNode(t.Text);
tn.AddChild(newNode);
addChildren(t.Id); //这里递归
}
}大体上是这样的,未经编译测试。
另外使用到了2008的LINQ功能,所以在2005下需要作适当修改。
4楼说的应该可以吧
我也试试