以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 奇怪了,怎么定位不了?? (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=184975) |
-- 作者:hitzfeld -- 发布时间:2023/1/28 15:31:00 -- 奇怪了,怎么定位不了?? 下面这段代码是放在字符框控件的keydown事件里面,希望达到找到对应单据就自动定位的功能。 If e.KeyCode = keys.Enter Then Dim x As String = e.Form.Controls("TEXTBOX1").text Dim dr As DataRow dr = DataTables("工作单").sqlFind("[工作单号] = \'" & x & "\'") If dr Is Nothing Then msgbox("找不到此工作单") Else Dim wz As Integer = Tables("入库单_table1").FindRow(dr) If wz >= 0 Then Tables("入库单_table1").Position = wz End If End If End If 入库单_table1是副本表,用fill方式加载,输入单号后回车,没有吧焦点定位到此行,而是在第一条记录原地不动??? 单号肯定没错,试了几十次了 尝试 用 With Tables("入库单_table1") .Position = .Position + 1 End With 可以正确移动 [此贴子已经被作者于2023/1/28 15:42:30编辑过]
|
-- 作者:有点蓝 -- 发布时间:2023/1/28 15:50:00 -- FindRow功能只能定位已经加载的数据,Table的所有功能都针对已经加载的数据的。 sqlFind改为Find
|
-- 作者:hitzfeld -- 发布时间:2023/1/28 16:05:00 -- 蓝老师好,然而我吧代码改为下面这样,也是不会定位? If e.KeyCode = keys.Enter Then Dim x As String = e.Form.Controls("TEXTBOX1").text With Tables("入库单_table1") Dim r As Integer r = .Find("\'& x &\'", .RowSel + 1, "工作单号", False, False, True) If r > - 1 Then \'如果找到符合条件的行 .Position = r \'则选择该行 End If End With End If |
-- 作者:有点蓝 -- 发布时间:2023/1/28 16:08:00 -- r = .Find(x, .RowSel + 1, "工作单号", False, False, True)
|
-- 作者:hitzfeld -- 发布时间:2023/1/28 23:10:00 -- 谢谢蓝老师!我太糊涂了 ![]() |