devexpress TreeList递归及点击获取数据

        private void XtraUserControlBlankList_Load(object sender, EventArgs e)
        {
            this.BlankTreeList.Columns.Clear();
            TreeListColumn tc1 = new TreeListColumn();
            tc1.Name = "treeListColumn1";
            tc1.FieldName = "BlankID";
            tc1.Caption = "主键ID";
            tc1.VisibleIndex = 0;//此为必须设置的属性,否则无法显示列

            TreeListColumn tc2 = new TreeListColumn();
            tc2.FieldName = "BlankName";
            tc2.Caption = "行名";
            tc2.VisibleIndex = 1;

            TreeListColumn tc3 = new TreeListColumn();
            tc3.Caption = "父级ID";
            tc3.FieldName = "ParentId";
            tc3.VisibleIndex = 2;
            this.BlankTreeList.Columns.AddRange(new TreeListColumn[] { tc1, tc2, tc3});

            //清空现有节点
            this.BlankTreeList.Nodes.Clear();

            BlankTreeList.AppendNode(new object[] {"Allblanklist","全部"}, null);
            //根据节点的字段ID名称查找定位节点
            TreeListNode node = this.BlankTreeList.FindNodeByFieldValue("BlankID", "Allblanklist"); //在filedName列中查找所属值得的节点

            DataTable dt = blankBll.GetBlankList();
            DataView dv = new DataView(dt);
            dv.RowFilter = "ParentId = '-1'";

            if (dt.Rows.Count > 0)
            {
                foreach (DataRowView dv1 in dv)
                {
                    object[] nodeview = { dv1["BlankID"], dv1["BlankName"], dv1["ParentId"] };
                    TreeListNode tn = BlankTreeList.AppendNode(nodeview, node);
                    GetChild(dv1["BlankID"].ToString(),dt,tn);//参数(父级ID,DataTable表,父节点)
                }
            }
            node.ExpandAll();
        }

 

 private void GetChild(string upnode, DataTable dt,TreeListNode tn)
        {
            try
            {
                DataView dv = new DataView(dt);
                dv.RowFilter = "ParentId = '" + upnode + "'";
                foreach (DataRowView dv1 in dv)
                {
                    object[] nodeview = { dv1["BlankID"], dv1["BlankName"], dv1["ParentId"] };
                    TreeListNode childnode = BlankTreeList.AppendNode( nodeview , tn);
                    GetChild(dv1["BlankID"].ToString(), dt, childnode);//参数(父级ID,DataTable表,父节点)
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

 

 private void BlankTreeList_FocusedNodeChanged_1(object sender, FocusedNodeChangedEventArgs e)
        {
            TreeListNode curNode = e.Node;
            if (curNode == null) return;
            TxtE1.Text = curNode.GetValue("BlankID").ToString();
        }

 

转载于:https://www.cnblogs.com/davis-s/p/6970936.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值