以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 追加数据问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=178393) |
-- 作者:swagger -- 发布时间:2022/7/2 20:50:00 -- 追加数据问题 打开窗口和按钮代码,追加数据不一样。两个表,订单和订单明细。 按钮1 代码: With DataTables("订单明细") .LoadFilter = "" .LoadTop = 20 .LoadPage = 0 .Load() End With With DataTables("订单明细") If .LoadPage < .TotalPages - 1 Then .LoadPage = .TotalPages - 1 .Load() End If End With 点击按钮1, 然后点击窗口1的订单表是正常追加数据的(点击一个订单会追加同一个编号的订单明细),订单表 currentchanged: If e.Table.current IsNot Nothing Then Dim dr As DataRow = e.Table.Current.DataRow If dr IsNot Nothing Then Dim wz As Integer = Tables("订单").FindRow(dr) If wz >=0 Then Tables("订单").Position = wz End If End If Dim Filter As String = "订单编号 = \'" & e.Table.Current("订单编号") & "\'" If DataTables("订单明细").Find(filter) Is Nothing Then DataTables("订单明细").AppendLoad(filter) End If End If 但是如果把按钮1的代码放到窗口2的afterload里面,则会不正常,点击窗口1的订单表,追加数据有时候是2行(其中一个订单编号是一致的,另外一个编号毫不相关),有时候是一行,大多数是2行。不知道哪里出问题了? [此贴子已经被作者于2022/7/2 20:51:34编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/7/3 20:26:00 -- 这个和事件的处理机制有关。下面情况都会触发currentchanged 1、重新加载数据,重新加载后不管之前选中的是哪一行,都会默认选中第一行 2、切换表后会触发目的表
|