我正在尝试在ASP.NET中构建嵌套/线程注释系统。我不知道PHP人员是怎么做到的。它比最初想象的要难得多。
我正在尝试将我的最终获取分层数据输出给用户,但它无法正常工作。
我有一个包含text,itemID和parentID的表。
我想以树视图格式显示信息,但asp.net的标准控件不起作用...
任何人都可以指出我如何将其输出到树视图的正确方向。我已经尝试了嵌套转发器,直接从代码隐藏和树视图控件构建html。
我仍然没有找到解决方案......任何人都可以帮助我吗?
答案 0 :(得分:4)
很快,通过头部(现在无法检入VS2k8),我会使用Linq to SQL来做这样的事情
private void BuildTree()
{
List<Item> items = from item in dataContext.Items
select item;
List<Item> rootItems = items.FindAll(p => p.ParentID == null );
foreach ( Item item in rootItems )
{
TreeViewNode tvi = new TreeViewNode(item.text);
BuildChildNodes(tvi, items, item.ID);
YourTreeNodeName.Nodes.Add(tvi);
}
}
private void BuildChildNodes(TreeViewNode parentNode, List<Item> items, long parentID)
{
List<Item> children = items.FindAll ( p => p.ParentID = parentID );
foreach( Item item in children)
{
TreeViewNode tvi = new TreeViewNode(item.text);
parentNode.Nodes.Add(tvi);
BuildChildNodes(tvi, items, item.ID);
}
}
答案 1 :(得分:0)
据我了解,如果您有一个包含分层数据的数据库表,您有两个选择:创建自己的自定义数据源,或以编程方式将树视图绑定到数据库表。
我没有您的代码,但您可以使用以下步骤:
几乎所有这些都是使用TreeView.Nodes.Add(theNewNode)完成的,其中NewNode是TreeNode对象的一个实例
我知道这一切听起来很混乱,但我过去做过。我在Stephen Walther ASP.NET Unleashed一书中找到了很好的信息,该书有完整的部分专门用于实现这一目标。