这个是bug。当你的筛选条件,是表达式列,表达式列引用父表数据,这种情况。对主表设置属性的时候,就会导致子表跳到第一行去。
你订单修改窗口AfterLoad事件改一下,把红色代码写到最后
If Forms("销售查询").opened Then
Dim tab As WinForm.TabControl = forms("销售查询").controls("TabControl1")
Select Case tab.selectedpage.Text
Case "订单查询"
Tables("销售订单").Filter = "订单号 = '" & Tables("销售查询_Table1").Current("订单号") & "'"
Case "销售明细查询"
Tables("销售订单").Filter = "订单号 = '" & Tables("销售查询_Table3").Current("订单号") & "'"
End Select
End If
DataTables("销售明细表").AddUserStyle("a", Color.Red, Color.White)
DataTables("销售订单").AddUserStyle("a", Color.Red, Color.White)
Tables("销售订单").Sort = "订单号 DESC,日期 DESC"