以文本方式查看主题

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

--  作者:有点青
--  发布时间:2016/11/22 14:38:00
--  

Dim dt As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "预留工资_发放日期","预留工资_发放方式"
        If dt.IsNull("预留工资_发放日期") = False AndAlso dt.IsNull("预留工资_发放方式") = False Then
            dt("预留工资_实发金额") = dt("预留工资")
        Else
            dt("预留工资_实发金额") = Nothing
        End If
    Case "姓名"
        Dim dr As DataRow = DataTables("工资年度结算").Find("姓名 = \'" & e.OldValue & "\'And 年度 = " & e.DataRow("年度"))
        If dr Is Nothing Then
            dr = DataTables("工资年度结算").AddNew()
            dr("姓名") = dt("姓名")
            dr("年度") = dt("年度")
        Else
            dr("姓名") = dt("姓名")
            dr("年度") = dt("年度")
        End If
    Case "年度"
        Dim dr As DataRow = DataTables("工资年度结算").Find("姓名 = \'" & e.DataRow("姓名") & "\' And 年度 = " & e.oldvalue)
        If dr Is Nothing Then
            dr = DataTables("工资年度结算").AddNew()
            dr("姓名") = dt("姓名")
            dr("年度") = dt("年度")
        Else
            dr("姓名") = dt("姓名")
            dr("年度") = dt("年度")
        End If
End Select


--  作者:有点青
--  发布时间:2016/11/22 16:28:00
--  

 要区分 e.OldValue 的值,那就只能是单独判断列名

 

Dim dr As DataRow = DataTables("工资年度结算").Find("姓名 = \'" & e.OldValue & "\'And 年度 = \'" & e.OldValue & "\'")