以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自动更新  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77523)

--  作者:kaituozhe
--  发布时间:2015/11/19 17:07:00
--  自动更新

当前表中某一行"合同金额","已付利息","最后利息","累计利息"中的任何一个发生变化时,
合同汇总的同一个登记编号的行发生自动更新,写了以上代码,但是实现不了,不知道是什么原因。

Select Case e.DataCol.name
    Case "合同金额","已付利息","最后利息","累计利息"
        Dim dr As DataRow
        dr = DataTables("合同汇总").Find("[登记编号] = \'" & e.DataRow("登记编号") & "\'")
        DataTables("合同汇总").DataCols("登记编号").RaiseDataColChanged(dr)
End Select


--  作者:大红袍
--  发布时间:2015/11/19 17:27:00
--  

1、加msgbox,看是否触发了事件。如果是表达式列,不会触发datacolchanged事件;

 

2、在合共汇总表datacolchanged事件加入msgbox,看执行得是否顺利


--  作者:kaituozhe
--  发布时间:2015/11/19 17:30:00
--  

没有表达式列


--  作者:kaituozhe
--  发布时间:2015/11/19 17:35:00
--  

Select Case e.DataCol.name
    Case "合同金额","已付利息","最后利息","累计利息"
        Dim dr As DataRow
        dr = DataTables("合同汇总").Find("[登记编号] = \'" & e.DataRow("登记编号") & "\'")
MessageBox.Show(1)
        DataTables("合同汇总").DataCols("登记编号").RaiseDataColChanged(dr)
MessageBox.Show(2)

End Select

 

执行的顺利,没有提示错误,但是就触发更新


--  作者:kaituozhe
--  发布时间:2015/11/19 17:57:00
--  

执行的顺利,没有提示错误,但是就不触发更新


--  作者:大红袍
--  发布时间:2015/11/19 18:01:00
--  
合同汇总表datacolchanged事件加入msgbox,看是否弹出。