高手帮忙:控制显示treeview的下级节点

yu_shu 2006-08-11 03:33:28
表:nodeid int(20),parentID int(20),nodename char(10)
子节点 父节点 节点显示的文字
我想根据输入节点的nodeid列出该节点下的所有子节点,用treeview显示出来,我现在只能把表里所有的都显示出来,用"select * from tree where nodeid = ****" 页面节点只显示出一个文本,高手给个方法....
...全文
99 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifeixie 2006-08-11
  • 打赏
  • 举报
回复
低归效率不行,你就随便写个算法就行了,一个语句用左连接!!
yu_shu 2006-08-11
  • 打赏
  • 举报
回复
3Q高手帮忙
lovvver 2006-08-11
  • 打赏
  • 举报
回复
select * from tree取出所有节点数据,放到DataTable里
然后根据输入的nodeid来画它本身以及它所有的子孙节点。

nodeid__________

1.treeview.Nodes.Clear();
2.画节点
TreeNode tn = new TreeNode();
tn.Tag = nodeid;
tn.Text = "xxx";
treeview.Nodes.Add(tn);
//再画其子孙节点
AddSons(tn);//方法见下面

画节点的方法,可以在输入完nodeid后的一个触发时间中执行。


private void AddSons(TreeNode tn)
{
//根据节点过滤出其所有一级子节点
DataRow[] drs = dtTree.Select("Parent_Id = "+tn.Tag.ToString());
foreach(DataRow dr in drs)
{
TreeNode tnSon = new TreeNode();
tnSon.Tag = dr["XX_ID"].ToString();
tnSon.Text = dr["xx_Text"].ToString();
tn.Nodes.Add(tnSon);
AddSons(tnSon);//递归,来循环画其子孙节点
}
}



---------------------------------------------------
http://www.notsoft.cn/bbs/index.asp
yu_shu 2006-08-11
  • 打赏
  • 举报
回复
怎么过滤呢?给各方法
leafsword_519 2006-08-11
  • 打赏
  • 举报
回复
我现在只能把表里所有的都显示出来,用"select * from tree where nodeid = ****" 页面节点只显示出一个文本,高手给个方法....

-----------------------------
既然能都显示出来,你取数据的时候就过滤一下不就行了吗

111,097

社区成员

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

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

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