以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  DataColChanged事件触发  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66227)

--  作者:一笑
--  发布时间:2015/4/1 15:07:00
--  DataColChanged事件触发

在DataColChanged中写入代码,代码正常,但是在输入“飞行日期”列值时,不会触发事件,必须要通过重置列或DataTables("时间").DataCols("飞行日期").RaiseDataColChanged()才能触发事件,不知道为何?而其他在事件能正常触发(同一表中)

 

If e.DataCol.Name = "飞行日期" Then

    Dim nms() As String = { "PF" }

    If e.NewValue Is Nothing Then

        For Each nm As String In nms

            e.DataRow(nm) = Nothing

        Next

    Else

        Dim dr As DataRow = e.DataRow

        Dim pr As DataRow

        Dim filter As String

        filter = " 飞行日期 = \'" & dr("飞行日期") & "\'"

        pr = DataTables("任务书").Find(filter)

     

        If pr IsNot Nothing Then

            dr("PF") = pr("操纵")

End If

End If

End If



--  作者:有点甜
--  发布时间:2015/4/1 15:10:00
--  

1、只要修改了列,就肯定会触发代码。

 

2、filter = " 飞行日期 = \'" & dr("飞行日期") & "\'" 改成 filter = " 飞行日期 = #" & dr("飞行日期") & "#"


--  作者:Bin
--  发布时间:2015/4/1 15:32:00
--  
1.输入的时候并不会触发,要离开焦点后才会触发哦.