一、获取表数据
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);//循环查询获取
}
}