递归法添加节点到treeview的问题?
我的代码
private void Bind_tvShowCity(TreeNode pNode,int pareID)
{
DataView dv = this.GetMangaeItem( "select * from [infinityTree] ");
dv.RowFilter = "[pareID]= " + pareID;
TreeNode tempNode = new TreeNode();
foreach (DataRowView drv in dv)
{
if (pNode==null)
{
tempNode.Text=drv[ "name "].ToString();
tempNode.NavigateUrl=drv[ "url "].ToString();
tempNode.Expanded = false;
this.tvShowCity.Nodes.Add(tempNode);
Bind_tvShowCity(tempNode, Int32.Parse(drv[ "id "].ToString()));
}
else
{
tempNode.Text = drv[ "name "].ToString();
tempNode.NavigateUrl = drv[ "url "].ToString();
tempNode.Expanded = false;
pNode.ChildNodes.Add(tempNode);
Bind_tvShowCity(tempNode, Int32.Parse(drv[ "id "].ToString()));
}
}
}
出错提示:
索引必须位于该列表的界限内。
参数名: index
我现在知道是这行: pNode.ChildNodes.Add(tempNode); 有错,
我看别人做的是这样:pNode.Nodes.Add(tempNode);
为什么我建的TreeNode tempNode = new TreeNode();
在调pNode时,没有Nodes属性??
谢谢讲解??
------解决方案--------------------#region 递归绑定同一个表数据