public void AddTree(int ParentID, TreeNode pNode)
{
DataTable dt = new DataTable();
//这个是我获取数据源的代码
sql = "select * from IndustryType";
dt = access.GetDataSet(sql).Tables[0];
DataView dvTree = new DataView(dt);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "iparentno=" + ParentID; foreach (DataRowView Row in dvTree)
{
TreeNode INode = new TreeNode();
if (pNode == null)
{ //添加根节点
INode.Text = Row["varindustryname"].ToString();
treeView1.Nodes.Add(INode);
//Node.Expanded = true;
AddTree(Int32.Parse(Row["iparentno"].ToString()), INode); //再次递归
}
else
{ //添加当前节点的子节点
INode.Text = Row["varindustryname"].ToString();
pNode.Nodes.Add(INode);
//Node.Expanded = true;
AddTree(Int32.Parse(Row["iparentno"].ToString()), INode); //再次递归
}
}
}
pNode.Nodes.Add(INode);
如果我加这句话的时候,就读不出来数据库中的数据了,现在上面的程序能读出根数据,子节点数据就读不出来了,请大家帮小弟一下.
vk
{
DataTable dt = new DataTable();
//这个是我获取数据源的代码
sql = "select * from IndustryType";
dt = access.GetDataSet(sql).Tables[0];
DataView dvTree = new DataView(dt);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "iparentno=" + ParentID; foreach (DataRowView Row in dvTree)
{
TreeNode INode = new TreeNode();
if (pNode == null)
{ //添加根节点
INode.Text = Row["varindustryname"].ToString();
treeView1.Nodes.Add(INode);
//Node.Expanded = true;
AddTree(Int32.Parse(Row["iparentno"].ToString()), INode); //再次递归
}
else
{ //添加当前节点的子节点
INode.Text = Row["varindustryname"].ToString();
pNode.Nodes.Add(INode);
//Node.Expanded = true;
AddTree(Int32.Parse(Row["iparentno"].ToString()), INode); //再次递归
}
}
}
pNode.Nodes.Add(INode);
如果我加这句话的时候,就读不出来数据库中的数据了,现在上面的程序能读出根数据,子节点数据就读不出来了,请大家帮小弟一下.
vk
加子节点和加父节点是不一样的