以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- RaiseDataColChanged (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135575) |
-- 作者:lfz123 -- 发布时间:2019/5/29 16:07:00 -- RaiseDataColChanged 我在流水账的datacolchanged事件中,代码失效 If e.DataCol.name = "申请单号" Then Dim dr As DataRow = DataTables("申请单").SQLfind("申请单号 = \'"& e.datarow("申请单号") & "\'") If dr IsNot Nothing Then DataTables("申请单").DataCols("申请单号").RaiseDataColChanged(dr) End If End If |
-- 作者:有点甜 -- 发布时间:2019/5/29 16:13:00 --
对于没有加载出来的数据,没有必要也不能重置列。
你流水账的计算,请在加载数据出来以后,再重置。 |
-- 作者:lfz123 -- 发布时间:2019/5/29 16:22:00 -- 回复:(有点甜) 对于没有加载出来的数据,没... 甜老师,我的申请单的DataColChanged事件中有如下代码,所以需要重置,因为我在登记流水账的时候随时要知道申请单的未付余额,我的系统原来大量用的关联表,后来接触动态加载,有些功能实现不了,我就取消了系统所有关联表的设置,该用代码计算,把我整的晕头转向了, If e.DataCol.Name = "申请单号" Then Dim Filter As String = "[申请单号] = \'" & e.NewValue & "\'" e.DataRow("已预支金额") = DataTables("流水账").SQLCompute("Sum(支出)", Filter) End If
|
-- 作者:有点甜 -- 发布时间:2019/5/29 16:27:00 -- 那请改成
If e.DataCol.name = "申请单号" Then
Dim dr As DataRow = DataTables("申请单").find("申请单号 = \'"& e.datarow("申请单号") & "\'") If dr IsNot Nothing Then DataTables("申请单").DataCols("申请单号").RaiseDataColChanged(dr) End If Dim fdr As DataRow = DataTables("申请单").sqlfind("申请单号 = \'"& e.datarow("申请单号") & "\'")
If fdr isNot Nothing Then
fdr("已预支金额") = DataTables("流水账").SQLCompute("Sum(支出)", "申请单号 = \'"& e.datarow("申请单号") & "\'")
fdr.save
End If
End If |