winform中TreeView显示树状图

一、获取表数据

DataTable dt = new DataTable ();//要有值

二、清空Windows.From.TreeView

treeModelTree.Nodes.Clear();//清空TreeView

三、从dt表中获取一行数据(第一级数据、父级id = 0)

DataRow[] rows = dt.Select("C_PARENT_METER_ID=0");

四、添加节点(Node)

//声明节点

TreeNode code;

foreach (DataRow row in rows)

{

code = new TreeNode();

code.Tag = row;

code.Text = row["C_METER_ID"].ToString();//第一级数据的表id

DataRow[] RowsOne = dt.Select("C_PARENT_METER_ID=" + row["C_METER_ID"].ToString());//获取下级数据(作为下一个父级)

BindChild(code, dt, RowsOne);//通过子级获取子级数据

treeModelTree.Nodes.Add(code);//添加到TreeView中

}

//通过子级获取子级数据

public void BindChild(TreeNode node, DataTable dt, DataRow[] RowTWO)

{

TreeNode codeChid;//子级节点

foreach (DataRow row in RowTWO)

{

codeChid = new TreeNode();

codeChid.Tag = row;

codeChid.Text = row["C_METER_ID"].ToString();//子级数据表id

node.Nodes.Add(codeChid);

DataRow[] RowTree = dt.Select("C_PARENT_METER_ID=" + row["C_METER_ID"].ToString());//获取下级数据(作为下一个父级)

BindChild(codeChid, dt, RowTree);//循环查询获取

}

}

 

 

你可能感兴趣的:(C#,winform)