【问题标题】:Populating Treeview using Linq使用 Linq 填充树视图
【发布时间】:2009-06-04 04:25:06
【问题描述】:

我正在使用 Linq-SQL,并希望在表单上的 TreeView 中显示我的数据。如果这很重要,我也在使用 .net 3.5。

现在,我的问题 - 有没有更好的方法来填充这个树视图?我现在的做法是这样的(伪):

for each order
{
  OrderNode = new TreeViewNode

  for each product in order
  {
     ProductNode = new TreeViewNode
     OrderNode.Add(ProductNode)
  }

  OrdersTreeView.Add(OrderNode)
}

提前致谢!

【问题讨论】:

    标签: .net sql winforms linq treeview


    【解决方案1】:

    这是一个粗略的方法来创建给定递归的节点(可爱的混搭半伪)

    private void CreateNodeAndInvestigateChildrenOfNode(HierarchyData data)
        {
            //does this node have children???
            if (data.HasChildren)
            {
                //get children
                IEnumerable<ChildRecord> childUsers = GetChildRecordsForData(data);
                foreach (child in childUsers)
                {
          HierarchyData newNode = new HierarchyData ();
                    newNode.ParentNode = data;
                    newNode.ThisData = child;
                    data.ChildNodes.Add(newNode);
    
                    CreateNodeAndInvestigateChildrenOfNode(newNode);
                }
            }
        }
    

    找到你的根节点并调用方法。

    如果您使用接口 IHierarchyData 和 IHierarchicalEnumerable 并使用实现这些接口的类构建节点,则 treenode 将接受它作为直接数据源。

    【讨论】:

    • 嘿,这比我做的更好!谢谢:)
    猜你喜欢
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多