怎么让TreeView的节点索引index从1开始计数?

wenl 2005-10-11 03:40:17
树是从数据库读取(字段为ID,Name,ParentID),动态递归生成的,函数如下:
public void CreateTree(int ParentID,TreeNode pNode)
{
DataView dvTree = new DataView(ds.Tables[0]);
dvTree.RowFilter = "ParentID = " + ParentID;
for (int i=0;i<dvTree.Count;i++)
{
TreeNode Node=new TreeNode() ;
TreeView1.Nodes.Add(Node);
Node.Text = Row["Name"].ToString();
Node.ID=Row["ID"].ToString(); CreateTree(Int32.Parse(Row["ID"].ToString()), Node);
}
}

现想每个节点都显示出其索引,效果如下:
1.四川
1.1 成都
1.2 绵阳
2.广东
2.1 广州
2.2 深圳
2.2.1 罗湖区
2.2.2 福田区
2.2.3 南山区

本以为Node.Text=Node.GetNodeIndex+Row["Name"].ToString(); 就能搞定,但发现NodeIndex是从0开始计数的,现在要求从1开始计数,只有自己写代码计数索引了,不知道该怎么写,递归搅来搅去都弄糊涂,哪位高手来帮帮忙啊?


...全文
145 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wj1280 2005-11-07
  • 打赏
  • 举报
回复
白痴问题
wenl 2005-10-12
  • 打赏
  • 举报
回复
自己顶一下
wenl 2005-10-11
  • 打赏
  • 举报
回复
能否不用Node.GetNodeIndex ,完全自己写代码实现?
time_is_life 2005-10-11
  • 打赏
  • 举报
回复
Node.Text=GetNewIndex( Node.GetNodeIndex ) + Row["Name"].ToString();

private string GetNewIndex( string oldIndex )
{

string[] arrIndex;
string ret = "";

arrIndex = oldIndex.Parse('.');
for( string s in arrIndex )
{
int i = Convert.ToInt( s ) + 1;
ret += i.ToString();
}

return ret;

}

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧