Foxtable(狐表)用户栏目专家坐堂 → 窗口中的几个目录树表同步显示时出错?(已解决)


  共有8761人关注过本帖树形打印复制链接

主题:窗口中的几个目录树表同步显示时出错?(已解决)

帅哥哟,离线,有人找我吗?
zpx_2012
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
窗口中的几个目录树表同步显示时出错?(已解决)  发帖心情 Post By:2012/11/20 13:05:00 [只看该作者]

各位老师,

 

为了方便查看,我用下面的代码实现三个目录树窗口中的表同步显示,但若其中的一个目录树中没有其他目录树中的表时就提示出错,

  


此主题相关图片如下:360截图20121120-001.jpg
按此在新窗口浏览图片

 


AfterSelectNode的代码为:

 

Dim tr2 As WinForm.TreeView = e.Form.Controls("TreeView2")
Dim tr3 As WinForm.TreeView = e.Form.Controls("TreeView3")
Dim tr_Flow As WinForm.TreeView = e.Form.Controls("tr_Flow")
'定义一个字符型变量nd保存父节点的标题值
Dim nd As String
If e.Node.Level = 0 Then
    nd = e.Node.Text
Else
    nd = e.Node.ParentNode.text
End If

'在其他目录树窗口中同步显示当前所先选节点的表及列.
Dim nd2 As WinForm.TreeNode = tr2.Nodes(nd)

If nd2 IsNot Nothing Then
    Dim idx2 As Integer = Math.MIn(12, nd2.Nodes.Count - 1) 
    tr2.SelectedNode = nd2 
    nd2.Nodes(idx2).EnsureVisible
End If

 

Dim nd3 As WinForm.TreeNode = tr3.Nodes(nd)

If nd3 IsNot Nothing Then
   Dim idx3 As Integer = Math.MIn(12, nd3.Nodes.Count - 1)
   tr3.SelectedNode = nd3
   nd3.Nodes(idx3).EnsureVisible
End If

 

红色的代码就是想实现其他目录树窗口中有存在同名的表时才执行,但为什么还提示出错呢?

 

谢谢!



[此贴子已经被作者于2012-11-20 16:45:24编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/11/20 14:43:00 [只看该作者]

用这个分析一下Treeview3的AfterSelectNode事件代码,看看问题出在哪一行:

 

http://www.foxtable.com/help/topics/1485.htm

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
zpx_2012
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2012/11/20 16:44:00 [只看该作者]

谢谢,根据提示发现是红色上面那行出错了,因为不存在的表,就没有相应的"nd"了,

 

重新修改了代码可以了。


 回到顶部