以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何通过ListView定位到表中某行数据记录?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186998)

--  作者:flashv
--  发布时间:2023/6/13 16:13:00
--  如何通过ListView定位到表中某行数据记录?
ListView控件中的数据来自"商品资料"表
当单击ListView某数据时,数据指针移动定位到"商品资料表"对应"商品条码"的商品记录
如何实现?

--  作者:有点蓝
--  发布时间:2023/6/13 16:22:00
--  
参考:http://www.foxtable.com/webhelp/topics/2782.htm
--  作者:flashv
--  发布时间:2023/6/14 18:56: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(dr)
If ps >= 0 Then
    Tables("常用商品_table1").Position = ps
    
End If


以上代码没能实现定位到某记录的功能,错在哪里?

--  作者:flashv
--  发布时间:2023/6/14 19:05:00
--  
怎么通过"商品条码"字段值来定位?
--  作者:有点蓝
--  发布时间:2023/6/15 8:29:00
--  
Dim ps As Integer = Tables("商品资料").FindRow("商品资料=\'" & vr("商品条码") & "\'")
Dim ps As Integer = Tables("商品资料").FindRow("商品资料=\'" & dr("商品条码") & "\'")

--  作者:flashv
--  发布时间:2023/6/15 10:18:00
--  
Dim ps As Integer = Tables("商品资料").FindRow("商品资料=\'" & vr("商品条码") & "\'")

出错提示
未找到列 [商品资料]。

==================================
Dim ps As Integer = Tables("商品资料").FindRow("商品资料=\'" & dr("商品条码") & "\'")

出错提示
未将对象引用设置到对象的实例。

--  作者:有点蓝
--  发布时间:2023/6/15 10:22:00
--  
Dim ps As Integer = Tables("商品资料").FindRow("商品条码=\'" & vr("商品条码") & "\'")
--  作者:flashv
--  发布时间:2023/6/15 10:25:00
--  
应该是
Dim ps As Integer = Tables("商品资料").FindRow("商品条码=\'" & vr("商品条码") & "\'")
谢谢老师了.

--  作者:flashv
--  发布时间:2023/6/15 10:27:00
--  
Dim ps As Integer = Tables("商品资料").FindRow("商品条码=\'" & dr("商品条码") & "\'")

出错提示
未将对象引用设置到对象的实例。

以上代码还是出错,问题在哪

--  作者:有点蓝
--  发布时间:2023/6/15 10:34:00
--  
使用dr的话,请先把2楼帮助仔细看一看

重点是这一句
vr.Tagdr \'将DataRow赋值给ListViewRow的Tag属性,将二者联系起来