TreeList是DevExpress中的一个控件,本博文主要介绍其如何展示树形图:
首先重要的是从数据库中查询出来的数据列必须是唯一的!
步骤一:
从数据苦衷筛选出你要的数据行,必须包含三个字段:
1.你的主键列,或者说你的唯一列,并不一定非要是主键:
2.你的父级ID列,即Parent_Code,表示层级关系的那一列;
步骤二:
分别设置TreeList的KeyFiledName和ParentFiledName
treeList1.KeyFieldName = "Dept_Code";//主键名称
treeList1.ParentFieldName = "Parent_Code";//父级ID
treeList1.DataSource =数据源 ;//数据源 (一般来说是从数据库中查询出来的一张表)
treeList1.ExpandAll();//全部展开
步骤三:
需要设置treeList的列绑定,可以通过图形界面的方式绑定:
打开TreeList的RunDesigner,添加一个treeListColumn列,设置它的FiledName为你要展示的数据库中的列,这样就可以生成树形的列表了。
步骤四:
获取TreeList某个节点的值:
string deptName = (string)treeList1.FocusedNode.GetValue(treeListColumn1); //treeListColumn1是设置的绑定列的名字;
栗子代码:
string connstr = "server=ip地址;database=AppDB;uid=sa;pwd=*****";
DataTable dt = new DataTable();
dt = DBHelper.ExecuteDataTable(connstr, "select * from HR_Department where DBCenter='APPDB';");//此行为公司封装的一段获取DataTable的方法,不必在意,重点是得到DataTable,完全可以通过ADO.NET来获得
treeList1.KeyFieldName = "DeptID"; //主键列
treeList1.ParentFieldName = "ParentID"; //分层列
treeList1.PreviewFieldName = "DeptName";
treeList1.DataSource = dt;