欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Winform中DevExpress的TreeList的入门使用教程(附源码下载)

程序员文章站 2023-11-23 10:53:16
场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100061243 在上面安装完DevExpress的基础上使用其Treelist控件。 然后就可以新 ......

场景

winform控件-devexpress18下载安装注册以及在vs中使用:

https://blog.csdn.net/badao_liumang_qizhi/article/details/100061243

在上面安装完devexpress的基础上使用其treelist控件。

然后就可以新建数据源的list,并赋值给treelist。

效果

Winform中DevExpress的TreeList的入门使用教程(附源码下载)

 

Winform中DevExpress的TreeList的入门使用教程(附源码下载)

实现

新建winform程序,然后拖拽一个treelist

Winform中DevExpress的TreeList的入门使用教程(附源码下载)

 

新建数据源类treenode

using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;

namespace devexpresssimple
{
    class treenode
    {
        //标识id
        private string id;
        //父级节点id
        private string parentid;
        //节点显示文本
        private string nodetext;

        public string nodetext
        {
            get { return nodetext; }
            set { nodetext = value; }
        }
        public string parentid
        {
            get { return parentid; }
            set { parentid = value; }
        }
       
        public string id
        {
            get { return id; }
            set { id = value; }
        }
    }
}

 

双击窗体进入窗体的加载事件中。

 

private void form1_load(object sender, eventargs e)
        {
          
        
            string keyfieldname = "id";
            string parentfieldname = "parentid";
            //新建list数据源
            list<treenode> data = new list<treenode>();
            data.add(new treenode() { id = "root", parentid = string.empty, nodetext = "测试1" });
            data.add(new treenode() { id = "first", parentid = "root", nodetext = "测试2" });
            //列
            devexpress.xtratreelist.columns.treelistcolumn colnode = new devexpress.xtratreelist.columns.treelistcolumn();
            //设置名字
            colnode.name = "名字";
            //设置标题
            colnode.caption = "标题";
            //设置从数据源分配给当前列的字段名。
            colnode.fieldname = "nodetext";
            //设置树列表中显示当前列的位置。
            colnode.visibleindex = 0;
            //是否可见
            colnode.visible = true;
            //是否允许编辑
            colnode.optionscolumn.allowedit = false;
            //是否允许移动    
            colnode.optionscolumn.allowmove = false;
            //是否允许移动至自定义窗体     
            colnode.optionscolumn.allowmovetocustomizationform = false;
            //是否允许排序
            colnode.optionscolumn.allowsort = false;
            //是否固定列宽         
            colnode.optionscolumn.fixedwidth = false;
            //是否只读         
            colnode.optionscolumn.readonly = true;
            //移除列后是否允许在自定义窗体中显示
            colnode.optionscolumn.showincustomizationform = true;           
            //先清除列
            this.treelist1.columns.clear();
            //将列数组添加到集合的结尾。
            this.treelist1.columns.addrange(new devexpress.xtratreelist.columns.treelistcolumn[] { colnode });

            #region 绑定数据源
            //设置属性keyfieldname  parentfieldname
            //设置一个值,该值指定绑定到xtratreelist控件的数据源的键字段
            this.treelist1.keyfieldname = keyfieldname;
            //设置一个值,该值表示标识此数据源中父记录的数据源字段。
            this.treelist1.parentfieldname = parentfieldname;
            this.treelist1.datasource = data;
            //刷新数据
            this.treelist1.refreshdatasource();

            #endregion
          
        }

 

注:

1.list就是要显示的数据源,其中id属性就是别的节点指定父节点的标志。

2.parentid就是指定父节点,对应节点的id属性,如果是根节点,则父节点为空。

3.nodetext就是节点要显示的文本。

4.给list赋值之后,还要告诉treelist对应的关系,所以需要设置treelist的两个属性

keyfiledname和parentfiledname。其中keyfiledname是指定绑定到控件的数据源的键字段,就是指定上面的id,即作为节点标志的字段。

parentfiledname是标志此数据 源中父记录的数据源字段。

5.然后还要使用treelistcolumn新建列对象,设置列相关的一些属性,还要通过fieldname指定从数据源中取哪个字段分配给这列。

6.更多的属性直接通过源码中查看源码属性获取。

Winform中DevExpress的TreeList的入门使用教程(附源码下载)

 

源码下载