Foxtable(狐表)用户栏目专家坐堂 → 显示某个主键所在的行代码应该怎么写啊


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

主题:显示某个主键所在的行代码应该怎么写啊

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


加好友 发短信
等级:童狐 帖子:215 积分:2149 威望:0 精华:0 注册:2018/3/30 19:56:00
显示某个主键所在的行代码应该怎么写啊  发帖心情 Post By:2024/6/14 14:40:00 [只看该作者]

目的:
想写个代码,第一步获取当前行所在的主键。
第二部。设置表视图,把第一步主键所在的行显示成表的第一行

dim diy as integer = currenttable.current("_identify")
currenttable.datatable.loadfilter="专业='" & "数学" & "'"
currentable.datatable.load()

currenttable.TopVisibleRow =diy(这里不知道怎么写了,反正不成功)

求老师指点一二

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110815 积分:564019 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/6/14 15:01:00 [只看该作者]

这和主键没有什么关系

currenttable.TopVisibleRow = currenttable.current.index

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


加好友 发短信
等级:童狐 帖子:215 积分:2149 威望:0 精华:0 注册:2018/3/30 19:56:00
  发帖心情 Post By:2024/6/14 16:02:00 [只看该作者]

currenttable.TopVisibleRow = currenttable.current.index
这个代码运行后,新的表视图又回到了第一行了。不是想要的那个结果

比如我通过搜索找到符合条件的行,比如:第165行(主键值为a)。
然后我想实现的功能就是打开视图,第165行是新视图的第一行。

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110815 积分:564019 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/6/14 16:09:00 [只看该作者]

没看懂。【打开视图】是什么意思,截图看看。或者把完整代码发上来说明问题

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


加好友 发短信
等级:童狐 帖子:215 积分:2149 威望:0 精华:0 注册:2018/3/30 19:56:00
  发帖心情 Post By:2024/6/14 16:41:00 [只看该作者]


图1是使用环境,通过特定的字符筛选出符合条件的行

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


图2,是想要达到的效果,通过显示位置这个函数,来定位到某个符合条件的行

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
显示位置 这个函数的代码如下。
diy = CurrentTable.Current("_identify") '获取主键
'output.Show(diy)
Dim vname As String = CurrentTable.Current("船名") '调整表视图
CurrentTable.DataTable.LoadFilter = "船名='" & vname & "'"
CurrentTable.DataTable.Load()
CurrentTable.TopVisibleRow = currenttable.current.index

这个代码点完后 表视图老是跑到了第一行

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110815 积分:564019 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/6/14 16:43:00 [只看该作者]

去掉所有代码!!只保留下面一句

CurrentTable.TopVisibleRow = currenttable.current.index

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


加好友 发短信
等级:童狐 帖子:215 积分:2149 威望:0 精华:0 注册:2018/3/30 19:56:00
  发帖心情 Post By:2024/6/14 16:49:00 [只看该作者]

图片点击可在新窗口打开查看

执行起来没动静啊

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110815 积分:564019 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/6/14 16:51:00 [只看该作者]

如果行比较少,不出现滚动条情况下,是没有效果的。除非筛选不显示所有的其他行,只保留这一行
[此贴子已经被作者于2024/6/14 16:51:18编辑过]

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


加好友 发短信
等级:童狐 帖子:215 积分:2149 威望:0 精华:0 注册:2018/3/30 19:56:00
  发帖心情 Post By:2024/6/14 17:00:00 [只看该作者]

我主要的目的是定位到筛选出来的行,然后调整下表视图,这样可以看到符合条件行后面的内容。
diy = CurrentTable.Current("_identify") '获取主键
'output.Show(diy)
Dim vname As String = CurrentTable.Current("船名") '调整表视图
CurrentTable.DataTable.LoadFilter = "船名='" & vname & "'"
CurrentTable.DataTable.Load()

前面代码都没问题

CurrentTable.TopVisibleRow = currenttable.current.index
主要问题应该是出现在这段代码上。我需要定位到diy这个主键值所在的行为视图的第一行

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110815 积分:564019 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/6/14 17:02:00 [只看该作者]

diy = CurrentTable.Current("_identify") '获取主键
'output.Show(diy)
Dim vname As String = CurrentTable.Current("船名") '调整表视图
CurrentTable.DataTable.LoadFilter = "船名='" & vname & "'"
CurrentTable.DataTable.Load()
dim idx as integer = CurrentTable.findrow("_identify=" & diy)
CurrentTable.TopVisibleRow = idx

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