Foxtable(狐表)用户栏目专家坐堂 → 如何通过ListView定位到表中某行数据记录?


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

主题:如何通过ListView定位到表中某行数据记录?

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


加好友 发短信
等级:二尾狐 帖子:577 积分:4596 威望:0 精华:0 注册:2013/3/3 1:52:00
  发帖心情 Post By:2023/6/15 15:24:00 [只看该作者]

也就是说,实际定位,用的是行号,而我需要用"商品条码",这才能保证没问题.
没办法跟据"商品条码"定位?

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


加好友 发短信
等级:二尾狐 帖子:577 积分:4596 威望:0 精华:0 注册:2013/3/3 1:52:00
  发帖心情 Post By:2023/6/15 15:30:00 [只看该作者]

Position 只能是行号?

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


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

不可能和排序有关系。除非是定位后,才又重新排序了,重新排序可能会破坏之前的定位的

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


加好友 发短信
等级:二尾狐 帖子:577 积分:4596 威望:0 精华:0 注册:2013/3/3 1:52:00
  发帖心情 Post By:2023/6/15 15:51:00 [只看该作者]

因为数据是要与其他系统共享使用的,所以排序字段用的是"记录训序".
加载数据时,是按"记录顺序"字段排了序的.
定位数据的程序本身并没有执行排序代码.

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
Dim vr As WinForm.ListViewRow = lvw.Current '获取ListView的当前行
If vr Is Nothing Then '如果不存在当前行,也就是没有选定任何一行
    Return
End If
Dim dr As DataRow = vr.tag '获取此行对应的DataRow
Dim ps As Integer = Tables("商品资料").FindRow("商品条码='" & vr("商品条码") & "'")
If ps >= 0 Then
    Tables("常用商品_table1").Position = ps
    
End If

以上就是"定位"按钮的全部代码.
实测结果就是,只要取消对"记录顺序"字段的排序,就正常了.
但实际工作中,是需要排序的.


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


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

请上传实例测试

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


加好友 发短信
等级:二尾狐 帖子:577 积分:4596 威望:0 精华:0 注册:2013/3/3 1:52:00
  发帖心情 Post By:2023/6/15 15:58:00 [只看该作者]

实例用的是SQL服务器上的数据,如果一定要做实例会很麻烦,导入导出,还要换数据库连接等.
老师要不你测试时增加一个字段,比如就叫"记录顺序",然后依此排序你再试试呢?

另外,FOX是不是只能跟据"行号"来定位?

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


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

我测试没有问题。会做例子也是解决问题的过程之一,或者说也是开发人员的能力之一,很多时候做例子的过程中往往就可以找出问题了。一个半个小时做个例子觉得麻烦,难道一个问题几天了搞不定就不麻烦!

既然是定位,肯定要有参照物,而行号就是唯一的参照物

 回到顶部
总数 27 上一页 1 2 3