一个关于treeview的问题....

xczgb 2008-10-13 12:04:49
已知数据表A

id parentid name
1 0 a
2 1 b
3 1 c
4 0 d
5 4 e
6 4 f
7 4 g
8 7 h
9 7 i
10 7 j

有一个集合或数组(ID的集合),集合中的ID所对应的节点是叶子节点


问题:页面上绑定TreeView,如果某个节点在集合list中,则不显示(如果在集合中,如果某个节点是父节点,且其子节点都在集合中,则不显示这个父节点。
...全文
100 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovehongyun 2008-10-13
  • 打赏
  • 举报
回复
没看太明白.

不过大致上可以这样做.

写个过程(可以写个function来做递归所有节点)查出你所有要显示的节点.

function递归时可以把要显示的节点返回.
然后 select * from id in (返回的节点id)
江城老温 2008-10-13
  • 打赏
  • 举报
回复
问题有点看不明白。描述不怎么清晰

但把这个表生成一棵树,总是查询吧?为什么不能在数据库中排除集合中已有的节点?
xczgb 2008-10-13
  • 打赏
  • 举报
回复
谢谢楼上的朋友..

关键是不能在数据库中排除集合中已有的节点
brallow 2008-10-13
  • 打赏
  • 举报
回复
Web编程我不太熟悉,不过你要判断某个结点是否在集合中是很简单的。例如:
int[] leafs = new[]{4,5,6,7};   //叶子节点数组。
string leafs_str = "4,5,6,7";

string sql = "select * from A where id not in ("+leafs_str+")";

//这样查询出来的结果就不会有叶子,你再绑定就可以了?
//如果用LINQ,查询更简单。
var q = from a in As where !leafs_str.Contains(a.id);


但我没用过Web下的treeview,不知道它们的绑定是基于什么原理以及父子关系是如何识别的。
Jerry_hu 2008-10-13
  • 打赏
  • 举报
回复
表A 添加一个字段如isshow(0:不显示;1:显示)
gongsun 2008-10-13
  • 打赏
  • 举报
回复
低调...

62,046

社区成员

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

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

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

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