请教Visual C#中Treeview数据库中递归实现代码或思路

RacoXu 2004-08-27 10:17:14
请问Treeview的节点从数据库中如何通过递归实现呢?是WinForm,请不要写WebForm实现过程。谢谢,很急。
...全文
445 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
RacoXu 2004-08-27
  • 打赏
  • 举报
回复
终于成功了,谢谢两位!立即给分
lihonggen0 2004-08-27
  • 打赏
  • 举报
回复
以前写的:
http://dev.csdn.net/develop/article/23/23258.shtm
http://dev.csdn.net/develop/article/23/23267.shtm
thinkingforever 2004-08-27
  • 打赏
  • 举报
回复
public DataSet ds=null;
private void Load(object sender, System.EventArgs e)
{
// 定义数据库连接
SqlConnection CN = new SqlConnection();
try
{
//初始化连接字符串
CN.ConnectionString= "data source=pmserver;initial catalog=Benchmark;persist security info=False;user id=sa;Password=sa;";
CN.Open();

SqlDataAdapter adp = new SqlDataAdapter("select * from tbTree",CN);
ds=new DataSet();
adp.Fill(ds);

}
catch (Exception ex)
{
throw ex;
}
finally
{
CN.Close();
}
//调用递归函数,完成树形结构的生成
AddTree(0, (TreeNode)null);
}

// 递归添加树的节点
public void AddTree(int ParentID,TreeNode pNode)
{

DataView dvTree = new DataView(ds.Tables[0]);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[PARENTID] = " + ParentID;

foreach(DataRowView Row in dvTree)
{
TreeNode Node=new TreeNode() ;
if(pNode == null)
{ //'?添加根节点
Node.Text = Row["ConText"].ToString();
TreeView1.Nodes.Add(Node);
Node.Expanded=true;

AddTree(Int32.Parse(Row["ID"].ToString()), Node); //再次递归
}
else
{ //添加当前节点的子节点
Node.Text = Row["ConText"].ToString();
pNode.Nodes.Add(Node);
Node.Expanded = true;
AddTree(Int32.Parse(Row["ID"].ToString()),Node); //再次递归
}
}
}

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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