如何在树视图WPF中访问子级的子级节点

基达

我有带复选框的树视图,想访问树视图中子节点的子节点。

这是我制作树状视图的方式,我想访问level4项的check和uncheck值,以便可以插入数据库。

  private void FillingTreeDynamic()
    {
        Nodes.Clear();
        var data = dbobj.GetDataFromDataBase("", "Select * from Master");
        foreach (DataRowView dr in data)
        {
            var level_1_items = new Node() { Text = dr["MasterName"].ToString(),IsChecked=false};
            var details = dbobj.GetDataFromDataBase("", "Select * from Details where MasterID='"+Convert.ToInt32(dr["ID"].ToString())+"'");
            foreach(DataRowView row in details)
            {
                var level_2_items = new Node() { Text = row["SubName"].ToString(),IsChecked=false};
                level_2_items.Parent.Add(level_1_items);
                level_1_items.Children.Add(level_2_items);
                var level_3_items = new Node() { Text ="View",IsChecked=false };
                level_3_items.Parent.Add(level_2_items);
                level_2_items.Children.Add(level_3_items);
                var dataView = dbobj.GetDataFromDataBase("","select * from ViewDetails");
                foreach (DataRowView rowview in dataView)
                {
                    var level_4_items = new Node() {Text=rowview["RightsName"].ToString(), IsChecked = false };
                    level_4_items.Parent.Add(level_3_items);
                    level_3_items.Children.Add(level_4_items);
                }

            }           

            Nodes.Add(level_1_items);
        }
        treeView.ItemsSource = Nodes;

    }

我能够访问子节点及其值,如下所示。

 public ObservableCollection<Node> Nodes { get; private set; } 
 foreach (var parent in Nodes)
 {
  if (parent.IsChecked == true)
    {
      foreach (var item in parent.Children)
        {
           if (item.IsChecked == true)
               {
               }
           else
             {
             } 
       }
else
  {
  }     
 }
 }

我如何访问子节点的parent.Children。任何想法如何访问这些子节点。提前致谢。

基达

我自己想出了解决这个问题的方法。这就是我访问子节点的parent.children的方式。

foreach (var parent in Nodes)
{


if (parent.IsChecked == true)
{
foreach (var item in parent.Children)
{
if (item.IsChecked == true)
{
}
else
{
} 
 foreach(var vtemp in item.Children)
 {
  foreach (var vtemp1 in vtemp.Children)
     {
       // and did my logic
     }
   }
}
else
{
}   
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在jQuery中访问父级的子级

反应,如何在父级中访问子引用

如何在Unity中访问子级GameObject的组件?

如何在JavaFX中访问对象的子级

如何从父视图快速访问容器视图子级

Python如何在子级中重写类成员并从父级访问它?

如何在vue.js中从父级访问子级方法

如何在Vue中从父级访问子级组件数据?

在子级中访问父级ngForm

如何在JavaScript中删除子级

使用查询访问节点的子级

从内联模板访问节点的属性/子级

如何从XSLT 1.0中的当前节点祖先访问先前同级的子级

如何在Flutter的小部件树中以子级打开新的MaterialPageRoute

如何在保留父级Firebase的同时删除子节点

在codeigniter中创建父级及其子级树

选中父级后,如何在Kendo TreeView中触发子节点的onCheck事件

如何在CSS选择器中仅排除特定节点的递归子级?

如何在仍然在cytoscape.js中显示子级的同时隐藏复合节点

从选定的父级中删除子级节点,但不删除其子级节点

无论如何,使用树Rails从模型中创建具有多个父级的子级

如何在vsc扩展中的视图中动态更改子级

从QScrollArea访问子级

当该子级作为其父级存储在列表中时,如何访问该子级的接口属性?

如何打印整个父级-节点-子级结构

如何在React / Redux应用程序中以玩笑方式访问组件的子级

我如何访问 MongoDB 中的第 N 级子文档

如何更改膨胀视图组的子级

如何计算C#中特定父级下的子级节点总数?