以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何禁止目录树中的节点切换?(等待更新了)!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=29212)

--  作者:zpx_2012
--  发布时间:2013/3/1 23:27:00
--  如何禁止目录树中的节点切换?(等待更新了)!

如下图:


图片点击可在新窗口打开查看此主题相关图片如下:360截图20130302112215272.jpg
图片点击可在新窗口打开查看


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:如何禁止目录树节点切换.table

 

现在想要的就是,条件成立时选中的目录树节点仍然是“数码产品”,而不是家电产品,要怎么才能实现?

 

 

我上面只是举个例子,主要的原因如下面的图:

 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20130310195126026.jpg
图片点击可在新窗口打开查看

因为我的数据及菜单上权限都是动态改变的,用户在\'录入\'的节点上增加或修改数据行时没有按我设定的条件完成时就不能切换到其他节点(这个条件我自己弄,不用管);按上传的例子就是假设条件就是1<2 ,禁止目录树节点切换,仍然停留在原来那个录入节点上,

 

请狐爸及各位专家帮我看下,反正不管用哪个事件或方式,就是禁止目录树节点切换就行了,  谢谢了!!!

[此贴子已经被作者于2013-3-18 18:35:04编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/3/2 9:20:00
--  

从代码的表面逻辑来看,应该是:

 

If DataTables(CurrentTable.DataTable.name).HasChanges Then
    If vars("canSave") = False Then  
        DataTables(CurrentTable.DataTable.name).RejectChanges()
    Else
        If MessageBox.Show("当前表单已经被修改,是否保存?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
            Syscmd.Project.Save()
        Else
            e.cancel = True
        End If
    End If
End If

 


--  作者:zpx_2012
--  发布时间:2013/3/2 10:36:00
--  

谢谢狐爸,但还是不可以,结果和原来的相同,其他逻辑可以不用去考虑,我只要实现,当鼠标先选中第一个节点后想要切换到第二个节点时怎么设置一个条件让它不能切换,鼠标仍然停留在选中第一个节点的状态,

我在目录树节点的BeforeSelectNode事件中用了如下很简单的代码:

 

If 1 < 2 Then
    e.cancel = True
End If

 

也同样不能控制鼠标选中到其他节点上,要在哪里设置代码才能达到我的目的?如何实现?

 


--  作者:zpx_2012
--  发布时间:2013/3/2 11:32:00
--  
可能大家没明白我的意思,为了把问题简单话重新上传了图片,请教各位老师。
--  作者:zpx_2012
--  发布时间:2013/3/2 14:24:00
--  
上传了例子,请大师们帮忙看一下,谢谢!
--  作者:zpx_2012
--  发布时间:2013/3/3 13:30:00
--  

大师们都放假啦


--  作者:狐狸爸爸
--  发布时间:2013/3/4 8:51:00
--  
说明e.cancel这个e参数无效,也许有bug,我抽空检查一下。
--  作者:zpx_2012
--  发布时间:2013/3/4 11:19:00
--  

谢谢,但千万不要忘记了,因为我设计的用户权限及菜单权限都是根据目录树节点动态加载的,影响很大。


--  作者:zpx_2012
--  发布时间:2013/3/10 19:57:00
--  

这个问题请狐爸及各位专家帮我看下,谢谢了!!!


--  作者:程兴刚
--  发布时间:2013/3/10 20:02:00
--  
思路有问题!