首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

50求一个算法,虽分未几,但求各位大侠帮帮!呀

2011-12-19 
50求一个算法,虽分不多,但求各位大侠帮帮!急呀!我做一个树形视图,主要是用于权限管理的。1、一个父级被选中,

50求一个算法,虽分不多,但求各位大侠帮帮!急呀!
我做一个树形视图,主要是用于权限管理的。
1、一个父级被选中,所有子级被中,同样取消父级,所有子级也被取消。(这个我会做)
2、只要选择任意一个子级,该子级的所有上级同样被选中。
3、当所有子级未被选中时,父级也跟着变。

[解决办法]
一般都是用第归的法子,也有特殊的——例如梅花雪的树控件。
[解决办法]
实际上你要求的是treeview控件具有三态

那你可以考虑使用第三方的控件 如DevExprss控件 支持三态

2,3 是明显的三态 否则你会出现矛盾 如果选择了一个子节点 该父节点应该被选中 但是如果该父节点下的所有子节点未被选中 那么这个父节点又应该是未被选中
[解决办法]
devExpress ……
[解决办法]
2、只要选择任意一个子级,该子级的所有上级同样被选中。
3、当所有子级未被选中时,父级也跟着变。


用代码向父级递归,直到 SelectNode.Level=0;


[解决办法]
比较复杂,得费点时间啊~~~~
[解决办法]
感觉你的想法本身就有问题,如果选中了任意一个节点那么导致所有的节点都被选中了。

因为,你选中了一个节点后,根据(2)它的父节点也被选中,再根据(2)......直至root节点被选中。再根据(1)父节点被选中其子节点也就都被选中了。所以所有节点就都被选中了。
[解决办法]
楼上的理解有问题,所有操作只发生在点鼠标的那一刻,如果点的是子节点,那么关联上父节点。如果点的是父节点,那么处理父节点的父节点及子节点。
[解决办法]
treeView1_NodeMouseClick事件判断子节点与父节点就好了

热点排行