Foxtable(狐表)用户栏目专家坐堂 → 窗口表数据自动更新问题


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

主题:窗口表数据自动更新问题

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


加好友 发短信
等级:幼狐 帖子:51 积分:656 威望:0 精华:0 注册:2019/4/3 21:28:00
窗口表数据自动更新问题  发帖心情 Post By:2019/8/7 11:50:00 [只看该作者]

现在发现一个问题:

窗口中引用有关联表《项目●订单执行》,其中关联表《项目●订单执行》的“回款总金额”和“成本已付金额”列为跨表引用数据。

但是,在初次打开项目时,再打开窗口后,引用的关联表A*B的X列数据未能自动引用更新,发现必须直接点击一次主表《订单执行》后,再回去看窗口中的“回款总金额”和“成本已付金额”列,这时数据才会正常引用的。

主表《订单执行》的Datecolchanged代码如下:

'Select Case e.DataCol.Name
If e.DataCol.Name = "项目编号" Then '发生变化的是产品列.
    '则累计订单表中同名产品总的销售量,然后赋值给变动行的数量列
    e.DataRow("回款总金额") = DataTables("客户回款").Compute("Sum(回款金额)","[项目编号] = '" & e.NewValue & "'")
End If

'客户回款::判断是否欠款,然后标记回款状态

 If e.DataRow.IsNull("欠款总金额") Then
     e.DataRow("客户回款状态") = "未结清货款"
 Else
      If e.DataRow("欠款总金额") = 0 Then
         e.DataRow("客户回款状态") = "已全部回款"
      Else
        e.DataRow("客户回款状态") = "未结清货款"
      End If
End If
'以上为计算标记客户销售货款结清状态程序
'----------------------------------

If e.DataCol.Name = "项目编号" Then '发生变化的是产品列.
    '则累计订单表中同名产品总的销售量,然后赋值给变动行的数量列
    e.DataRow("成本已付金额") = DataTables("供应商结算").Compute("Sum(付款金额)","[项目编号] = '" & e.NewValue & "'")
End If

'客户回款::判断是否欠款,然后标记回款状态

 If e.DataRow.IsNull("成本欠款金额") Then
     e.DataRow("供应商结算状态") = "未结算完成"
 Else
      If e.DataRow("成本欠款金额") = 0 Then
         e.DataRow("供应商结算状态") = "已结算完成"
      Else
        e.DataRow("供应商结算状态") = "未结算完成"
      End If
End If
'以上为计算标记客户销售货款结清状态程序


请问想实现首次打开项目时,直接打开窗口后,如何实现窗口内数据的实时更新? 谢谢

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/7 12:05:00 [只看该作者]

窗口afterload事件

DataTables("订单执行").DataCols("项目编号").RaiseDataColChanged


 回到顶部