请教Asp.net TreeView数据绑定问题
数据库
id name grade isEnd
01 a 1 0
0101 b 2 0
010201 c 3 1
02 d 1 0
0201 ss 2 1
03 s 1 0
0301 xz 2 0
030102 j 3 1
说明:
grade 是树的级别
isEnd 表示是否为末级
private void BuilderTree(int ParentID, TreeNode pNode)
{
TreeView1.ShowCheckBoxes = TreeNodeTypes.All;
string sql = "select * from inventoryclass";
DataSet ds = DBHelper.GetData(sql);
DataView dvTree = new DataView(ds.Tables[0]);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[binvcend] = " + ParentID;
foreach (DataRowView row in dvTree)
{
TreeNode Node = new TreeNode();
if (pNode == null)
{
//添加根节点
Node.Text = row["cinvcname"].ToString();
TreeView1.Nodes.Add(Node);
Node.Expanded = true;
BuilderTree(int.Parse(row["cinvccode"].ToString()),Node);//递归
}
else
{
//添加当前节点的子节点
Node.Text = row["cinvcname"].ToString();
pNode.ChildNodes.Add(Node);
Node.Expanded = true;
BuilderTree(int.Parse(row["cinvccode"].ToString()), Node);//递归
}
}
查询出的结果子节点都加到第一个父节点上了,请各位帮帮忙。急。