1.去数据库查询出需要添加的节点信息
DataSet ds = new DataSet();
ds=SMSql.FormSM06Sql.sm06_inq();//SMSql.FormSM06Sql.sm06_inq():自己封装的查询方法
2.循环遍历查询出来的数据,根据需要添加节点(父节点与子节点)
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (dr["PARENT_NODE_CODE"].ToString().Trim() == "")
{
DevExpress.XtraTreeList.Nodes.TreeListNode FistLevelNode = treeList1.AppendNode(null, null);//添加一级节点
if (ThirdLevelNode != null)
FistLevelNode.SetValue(treeList1.Columns[0], dr["NODE_CNAME"].ToString().Trim());//添加第一节点显示的值
foreach (DataRow dr_ in ds.Tables[0].Rows)
{
if (dr_["PARENT_NODE_CODE"].ToString() != "")
{
DevExpress.XtraTreeList.Nodes.TreeListNode SecondLevelNode = null;
if (dr["NODE_CODE"].ToString().Trim() == dr_["PARENT_NODE_CODE"].ToString().Trim())
{
SecondLevelNode = treeList1.AppendNode(null, FistLevelNode.Id);//添加二级节点
if (SecondLevelNode != null)
SecondLevelNode.SetValue(treeList1.Columns[0], dr_["NODE_CNAME"].ToString().Trim());//添加节点显示的值
foreach (DataRow dr_temp in ds.Tables[1].Rows)
{
if (dr_temp["NODE_CNAME"].ToString().Trim() == dr_["NODE_CNAME"].ToString().Trim())
{
DevExpress.XtraTreeList.Nodes.TreeListNode ThirdLevelNode = treeList1.AppendNode(null, SecondLevelNode.Id);//添加三级节点
if (ThirdLevelNode != null)
ThirdLevelNode.SetValue(treeList1.Columns[0], dr_temp["BTN_CAPTION"].ToString().Trim());//添加节点显示的值
}
}
}
}
}
}
}
3.显示复选框
this.treeList1.OptionsView.ShowCheckBoxes = true;