以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  三个目录树重叠切换时为何有个不可见  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=61890)

--  作者:HappyFt
--  发布时间:2014/12/21 15:58:00
--  三个目录树重叠切换时为何有个不可见


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

如上图在导航处将三个treeview控件重叠放在一起,用下面的代码当单选按钮切换时置顶并显示出来,

Dim tr1 As WinForm.TreeView = e.Form.Controls("Tr_Task")
Dim tr2 As WinForm.TreeView = e.Form.Controls("Tr_Cancel")
Dim tr3 As WinForm.TreeView = e.Form.Controls("Tr_All")
Dim rad1 As WinForm.RadioButton = e.Form.Controls("Rad_task")
Dim rad2 As WinForm.RadioButton = e.Form.Controls("Rad_Cancel")
Dim rad3 As WinForm.RadioButton = e.Form.Controls("Rad_All")
If rad1.checked Then
    tr2.Visible = False
    tr3.Visible = False
    tr1.TopMost = True  \'将控件置顶
    tr1.Visible = True
End If

当网络正常时切换都会正确显示出来,但当切换中如果网络突然断开了出现错误,过会儿网络恢复正常时,那个出错时的目录树就显示成空白的不可见了,但在上面随便点击又可以打开窗口,只是看不见。这是什么原因?

 

谢谢!


--  作者:有点甜
--  发布时间:2014/12/21 16:02:00
--  

 贴出你生成目录树的代码。


--  作者:HappyFt
--  发布时间:2014/12/21 16:37:00
--  

目录树的生成很简单,就是在导航中切换不同的任务面板时就用下面的代码生成了。切换不同的单选按钮时只是让不同的目录树显示与不显示而已。

Dim tr1 As WinForm.TreeView = Forms("导航").Controls("Tr_Task")
Dim tr2 As WinForm.TreeView = Forms("导航").Controls("Tr_Cancel")
Dim tr3 As WinForm.TreeView = Forms("导航").Controls("Tr_All")
\'-----------------------生成待处理目录树----------------------
tr1.BuildTree("ftbSet","Mogroup|tbN|Fid","sqRole like " & Role_All)

\'-----------------------生成可撤消目录树----------------------
tr2.BuildTree("ftbSet","Mogroup|tbN|Fid","sqRole like " & Role_All)

 

是不是生成目录树时如果数据源突然断开目录树就是空白的了。但过几秒数据源连通时再切换任务面板应该是生成了,因为点击空白的目录树会打开窗口,只是目录树为何不可见。

 

 


--  作者:有点甜
--  发布时间:2014/12/21 16:39:00
--  

 呃,BuildTree,是根据加载后的数据生成目录树的。期间你并没有用到数据源的数据啊。

 

 跟数据源无关,除非你目录树根据数据源生成。


--  作者:有点甜
--  发布时间:2014/12/21 16:42:00
--  
 你看看是不是你目录树事件的选择节点事件的代码的问题。