DevExpress之Treelist应用

        /// <summary>
        /// 设置节点状态
        /// </summary>
        /// <param name="nodes">TreeListNodes</param>
        /// <param name="bcheck">是否选中</param>
        private void NodeCheck(TreeListNodes nodes, bool bcheck)
        {
            foreach (TreeListNode node in nodes)
            {
                node.Checked = bcheck;
                if (node.HasChildren)
                {
                    NodeCheck(node.Nodes, bcheck);
                }
            }
        }

动态生成节点

            var onevalue = new object[] { "0", "0", "0" };
            DevExpress.XtraTreeList.Nodes.TreeListNode oneNode = treeList1.AppendNode(onevalue, null);//添加一级节点

            for (int i = 1; i < 5; i++)
            {
                var teovalue = new object[] { i.ToString(), i.ToString(), i.ToString() };

                this.treeList1.AppendNode(teovalue, oneNode);

            }

            for (int i = 10; i < 15; i++)
            {
                for (int j = 0; j < treeList1.Nodes[0].Nodes.Count; j++)
                {
                    if (treeList1.Nodes[0].Nodes[j].GetValue("treeListColumn1").ToString() == "2")
                    {
                        var trridvalue = new object[] { (i * 10).ToString(), (i * 10).ToString(), (i * 10).ToString() };
                        this.treeList1.AppendNode(trridvalue, treeList1.Nodes[0].Nodes[j]);
                    }
                }
            }

            for (int i = 16; i < 20; i++)
            {
                for (int j = 0; j < treeList1.Nodes[0].Nodes.Count; j++)
                {
                    if (treeList1.Nodes[0].Nodes[j].GetValue("treeListColumn1").ToString() == "3")
                    {
                        var trridvalue = new object[] { (i * 10).ToString(), (i * 10).ToString(), (i * 10).ToString() };
                        this.treeList1.AppendNode(trridvalue, treeList1.Nodes[0].Nodes[j]);
                    }
                }
            }

 

        /// <summary>
        /// 根据列名和值查找节点
        /// </summary>
        /// <param name="nodes"></param>
        /// <param name="colname"></param>
        /// <param name="colvalue"></param>
        /// <returns></returns>
        private TreeListNode GetNodeByCol(TreeListNodes nodes, string colname, string colvalue)
        {
            foreach (TreeListNode node in nodes)
            {
                string svalue = node.GetValue(colname).ToString();
                if (svalue == colvalue)
                {
                    return node;
                }
                if (node.HasChildren)
                {
                    GetNodeByCol(node.Nodes, colname, colvalue);
                }
            }
            return null;
        }

 

posted @ 2019-11-28 16:37  恋上微笑的天使  阅读(265)  评论(0编辑  收藏  举报