Foxtable(狐表)用户栏目专家坐堂 → [求助]光标定位


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

主题:[求助]光标定位

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


加好友 发短信
等级:六尾狐 帖子:1387 积分:10693 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]光标定位  发帖心情 Post By:2019/8/30 18:55:00 [只看该作者]

我有通过按钮生成的同一个窗口中的Table1和Table2,两个并排,我要实现在Table1中选择某一行时,Table2的光标自动定位在特定行,下面代码没效果,要如何改

If Tables("统计_Table1").Current Is Nothing Then 
    Return 
End If
Dim wz As Integer
Dim dr As DataRow
dr = DataTables("统计_Table2").Find("[部门名称] = '" & Tables("统计_Table1").Current("部门名称") & "'")
If dr IsNot Nothing Then
    wz = Tables("统计_Table2").FindRow(dr)
    If wz >= 0 Then
        Tables("统计_Table2").Position = wz
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/30 20:24:00 [只看该作者]

代码没有问题,是不是没有加载符合条件的数据?

不过可以简单一点

If Tables("统计_Table1").Current Is Nothing Then
    Return
End If
Dim wz As Integer
wz = Tables("统计_Table2").FindRow("[部门名称] = '" & Tables("统计_Table1").Current("部门名称") & "'")
If wz >= 0 Then
    Tables("统计_Table2").Position = wz
End If
[此贴子已经被作者于2019/8/30 20:24:27编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1387 积分:10693 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2019/9/3 18:57:00 [只看该作者]

刚打开表是可以定位到,如何实现打开表后,我在表1中改变行,表2月跟着定位呢

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/3 20:36:00 [只看该作者]

代码放到Table1的currentchanged事件

If e.Table.Current Is Nothing Then
    Return
End If
Dim wz As Integer
wz = Tables("统计_Table2").FindRow("[部门名称] = '" & e.Table.Current("部门名称") & "'")
If wz >= 0 Then
    Tables("统计_Table2").Position = wz
End If

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


加好友 发短信
等级:六尾狐 帖子:1387 积分:10693 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2019/9/4 11:09:00 [只看该作者]

哦,明白了,总是找不到currentchanged事件,要将table设置成非normal类型才行


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


加好友 发短信
等级:六尾狐 帖子:1387 积分:10693 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2020/1/9 18:39:00 [只看该作者]

窗口中table1是SQLQuery,通过统计查询生成,table2是Normal型,table2绑定到数据表A
table1的CurrentChanged中代码如下
Dim r As Row = Tables("完成情况_Table1").current
If r IsNot Nothing Then
Dim po As Integer = Tables("完成情况_Table2").findrow("名称 = '" & r("名称") & "' and 年份 = '" & r("年份") & "' and 月份 = '" & r("月份") & "'")
If po >=0 Then
Tables("完成情况_Table2").position = po
End If
End If

提示错误
不存在名称为“完成情况_Table2”的Table


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


加好友 发短信
等级:六尾狐 帖子:1387 积分:10693 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2020/1/9 18:55:00 [只看该作者]

已解决,作为副本

 回到顶部