Foxtable(狐表)用户栏目专家坐堂 → 跨表计算不更新


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

主题:跨表计算不更新

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


加好友 发短信
等级:一尾狐 帖子:410 积分:3682 威望:0 精华:0 注册:2017/4/8 8:59:00
跨表计算不更新  发帖心情 Post By:2020/5/9 11:20:00 [只看该作者]

Select Case e.DataCol.Name
    Case
"数量","单价","折扣"
       
Dim pr As DataRow
        pr =
DataTables("统计").Find("产品 = '" & e.DataRow("产品") & "'")
        If
pr IsNot Nothing Then
            DataTables
("统计").DataCols("产品").RaiseDataColChanged(pr)
        End
If
End
Select


以上代码在修改记录后以下统计表会自动更新,但是删除记录时就不会更新,如何办??


以下统计表

If e.DataCol.Name = "产品" Then
    Dim
Filter As String = "[产品] = '" & e.NewValue & "'"
    e.
DataRow("数量") = DataTables("订单").Compute("Sum(数量)", Filter)
    e.
DataRow("金额") = DataTables("订单").Compute("Sum(金额)", Filter)
End
If


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/9 11:31:00 [只看该作者]

DataRowDeleted事件

Dim pr As DataRow
pr = DataTables("统计表1").Find("产品 = '" & e.DataRow("产品") & "'")
If pr IsNot Nothing Then
    DataTables("统计表1").DataCols("产品").RaiseDataColChanged(pr)
End If

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


加好友 发短信
等级:一尾狐 帖子:410 积分:3682 威望:0 精华:0 注册:2017/4/8 8:59:00
  发帖心情 Post By:2020/5/9 12:09:00 [只看该作者]

可以了,谢谢
[此贴子已经被作者于2020/5/9 12:28:24编辑过]

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


加好友 发短信
等级:一尾狐 帖子:410 积分:3682 威望:0 精华:0 注册:2017/4/8 8:59:00
  发帖心情 Post By:2020/5/9 12:43:00 [只看该作者]

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.1.8
错误所在事件:表,订单,DataRowDeleted
详细错误信息:
调用的目标发生了异常。
此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据

就是删除最后一条记录时,出现上面提示。删除是可以删除的,数据也能更新

[此贴子已经被作者于2020/5/9 12:43:33编辑过]

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/9 13:37:00 [只看该作者]

我测试没有问题,贴出完整代码看看

 回到顶部