Foxtable(狐表)用户栏目专家坐堂 → 定位树节点问题


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

主题:定位树节点问题

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
定位树节点问题  发帖心情 Post By:2015/4/1 20:46:00 [只看该作者]

请教老师:
  如截图所示,现能在点击树节点后,表自动定位到相应记录。有没有办法在表中选择不同记录后,也将树节点定位到相应节点上?

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/4/1 20:48:00 [只看该作者]

图没有传上去图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/4/1 20:51:00 [只看该作者]

 循环所有的节点。比如

 

For Each nd As Object In trv.AllNodes
   
    If nd.Name = Tables("表A").Current("第一列") Then
       
        trv.SelectedNode = nd
       
        Exit For
       
    End If
   
Next


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/4/1 20:55:00 [只看该作者]

老师:
  循环节点会不会引发节点的AfterSelectNode事件,因为我在节点的AfterSelectNode事件中有如下代码:
'部门管理_TreeView1_AfterSelectNode
'选择节点后执行
If e.Node.FullName <> "所有部门" Then
    Dim a As String = e.Form.Controls("借用标签").text & Replace(e.Node.FullName,"\",".")
    Dim dr As DataRow
    dr = DataTables("部门表").Find("[部门编号] = '" & a & "'")
    If dr IsNot Nothing Then
        Dim wz As Integer = Tables("部门表").FindRow(dr)
        If wz >= 0 Then
            Tables("部门表").Position = wz
        End If
    End If
Else
    Tables("部门表").Position = 0
End If

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/4/1 20:57:00 [只看该作者]

图片传不上去,再试一下

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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/4/1 20:57:00 [只看该作者]

 循环节点不会触发事件,设置 selectedNode 才会触发,触发可以避免,参考

 

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

 


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/4/1 21:02:00 [只看该作者]

老师:
  麻烦看一下我的 AfterSelectNode事件代码有没有什么问题。目的是选定节点后定位到表中相应记录上。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/4/1 21:05:00 [只看该作者]

If e.Node.FullName <> "所有部门" Then
    Dim wz As Integer = Tables("部门表").FindRow(e.Node.DataRow)
    If wz >= 0 Then
        Tables("部门表").Position = wz
    Else
        Tables("部门表").Position = 0
    End If   
End If
 

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/4/1 21:11:00 [只看该作者]

老师:
  在树新了节点后,在窗体没有重新打开时,引用新增节点 e.Node.DataRow 会出错

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/4/1 21:12:00 [只看该作者]

 If e.Node.FullName <> "所有部门" Then
    Dim a As String = e.Form.Controls("借用标签").text & Replace(e.Node.FullName,"\",".")
    Dim dr As DataRow
    dr = DataTables("部门表").Find("[部门编号] = '" & a & "'")
    If dr IsNot Nothing Then
        Dim wz As Integer = Tables("部门表").FindRow(dr)
        If wz >= 0 Then
            Tables("部门表").Position = wz
        End If
    Else
        Tables("部门表").Position = 0
    End If
Else
    Tables("部门表").Position = 0
End If

 回到顶部
总数 20 1 2 下一页