Foxtable(狐表)用户栏目专家坐堂 → 追加数据问题


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

主题:追加数据问题

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
追加数据问题  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:超级版主 帖子:112401 积分:572273 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/7/3 20:26:00 [只看该作者]

这个和事件的处理机制有关。下面情况都会触发currentchanged
1、重新加载数据,重新加载后不管之前选中的是哪一行,都会默认选中第一行
2、切换表后会触发目的表

 回到顶部