用 ado.net 数据库连接填充树视图

fill treeview with ado.net db connection

我正在尝试根据它们的 'Category' 属性将我的数据从数据库添加到我的树视图。我有 yangin、kamera、alarm 和 otomasyon 类别和模拟、HDCVI、HDTVI、AHD 和 IP 作为子节点。例如,我在 Category 属性中有两个具有 "HDCVI Kameralar" 值的数据。我需要这两个数据出现在 "HDCVI Kameralar" 节点下。

<asp:TreeView ID="TreeView1" runat="server">
            <Nodes>
                <asp:TreeNode Text="Yangın" Value="Yangin"></asp:TreeNode>
                <asp:TreeNode Text="Kamera" Value="Kamera">
                    <asp:TreeNode Text="Analog Kameralar" Value="Analog Kameralar"></asp:TreeNode>
                    <asp:TreeNode Text="HDCVI Kameralar" Value="HDCVI Kameralar"></asp:TreeNode>
                    <asp:TreeNode Text="HDTVI Kameralar" Value="HDTVI Kameralar"></asp:TreeNode>
                    <asp:TreeNode Text="AHD Kameralar" Value="AHD Kameralar"></asp:TreeNode>
                    <asp:TreeNode Text="IP Kameralar" Value="IP Kameralar"></asp:TreeNode>
                </asp:TreeNode>
                <asp:TreeNode Text="Alarm" Value="Alarm"></asp:TreeNode>
                <asp:TreeNode Text="Otomasyon" Value="Otomasyon"></asp:TreeNode>
            </Nodes>
        </asp:TreeView>

Web 中的示例对于 me.I 来说太复杂了,只是不知道该怎么做 foreach loop.Thank 你的时间。

你可以像这样在这里使用 LINQ:-

private void CreateTreeView()
{
   //Don't filter the list 
   List<ProductTable> newSource = entity.ProductTable.ToList();
   foreach (var i in newSource)
   {
       //find the node with matching atribute 
       TreeNode node = TreeView1.Nodes.OfType<TreeNode>()
                                          .FirstOrDefault(x => x.Text == i.Attribute);
       //finally add new treenodes 
       if(node != null)
            node.ChildNodes.Add(new TreeNode { Text = i.Attribute, Value = i.Category});
   }
}