以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  RaiseDataColChanged  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=128971)

--  作者:edisontsui
--  发布时间:2018/12/19 10:59:00
--  RaiseDataColChanged
\'自动更新模具清单的模具应用记录数
If e.DataCol.Name = "模具型号" Then 
    Dim pr As DataRow
    pr = DataTables("模具清单").Find("模具型号 = \'" & e.DataRow("模具型号") & "\'")
    If pr IsNot Nothing Then
        DataTables("模具清单").DataCols("模具型号").RaiseDataColChanged("模具型号 = \'" & e.DataRow("模具型号") & "\'")
    End If
End If

以上代码是“物料字典”这个数据表的DataColChanged事件的代码,希望在“物料字典”的“模具型号”这个数据列数据发生变化后,能够激发“模具清单”之“模具型号”这个数据列的“重置列”功能,但是起不到这个作用。为什么呢?


--  作者:有点甜
--  发布时间:2018/12/19 11:21:00
--  

改成

 

If e.DataCol.Name = "模具型号" Then
    If e.oldvalue <> Nothing then DataTables("模具清单").DataCols("模具型号").RaiseDataColChanged("模具型号 = \'" & e.oldvalue & "\'")
    DataTables("模具清单").DataCols("模具型号").RaiseDataColChanged("模具型号 = \'" & e.DataRow("模具型号") & "\'")
End If