以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求助,目录节点选择控制方法 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=50521) |
||||
-- 作者:ndxfke -- 发布时间:2014/5/8 10:44:00 -- 求助,目录节点选择控制方法 我有一个多层目录树,想实现控制用户,只能选择同一个根节点内的,任何节点。
如果选择了其它根节点,给一个提示。 |
||||
-- 作者:Bin -- 发布时间:2014/5/8 10:46:00 -- 请上例子. 点击的时候判断一下节点的当前Level 和其父节点名称即可. |
||||
-- 作者:有点甜 -- 发布时间:2014/5/8 10:48:00 -- 多选目录树?
方法一:勾选以后,遍历所有节点,查找是否有其它选中的节点不在同一级节点;
方法二:勾选第一次,为true的时候,用变量记录Level,再次勾选的时候,比较一下,就知道了。 |
||||
-- 作者:Bin -- 发布时间:2014/5/8 10:51:00 -- BeforeSelectNode 事件 If e.Node.Level > 2 Then Dim n As WinForm.TreeNode = e.Node For i As Integer = 1 To e.Node.Level-2 n=n.ParentNode Next If n.text<>"对应节点" Then e.Cancel=True End If End If |
||||
-- 作者:lsy -- 发布时间:2014/5/8 11:12:00 -- 看得见,而选不着,会让用户困扰。 应该按用户及其他条件筛选数据,再根据筛选后的数据生成目录树。 能看见,就能选,才人性化。 [此贴子已经被作者于2014-5-8 11:13:07编辑过]
|
||||
-- 作者:ndxfke -- 发布时间:2014/5/8 14:37:00 -- 多谢几位指教...
根据需求才这样弄的。现在又碰到疑问了,
以下代码能检查到根节点选中的个数,n > 0 的时候,e.Cancel = True 没起到作用。不解是何原因。。。。。
Select Case e.Node.Level
case 1 ..........
end select |
||||
-- 作者:有点甜 -- 发布时间:2014/5/8 14:57:00 -- 根节点不允许多选?
Select Case e.Node.Level |
||||
-- 作者:ndxfke -- 发布时间:2014/5/8 15:12:00 -- 是的复选目录树!
想实现只能选择,一个根节点,或者只能选择一个根节点中的子节点。
用了您贴的这段代码,也不行。实在折腾不出来,上例子求助来了。
|
||||
-- 作者:有点甜 -- 发布时间:2014/5/8 15:54:00 -- 如下代码
If e.Node.Checked Then |
||||
-- 作者:lsy -- 发布时间:2014/5/8 16:01:00 -- 管用的来了:
[此贴子已经被作者于2014-5-8 16:22:47编辑过]
|