以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  加时间  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=16976)

--  作者:土佛
--  发布时间:2012/2/29 10:24:00
--  加时间

狐爸及各位老师好!我有个加时间段的代码,不反应,麻烦各位帮我看看:

 

Dim dc As DataCol = e.DataCol
Dim dr As DataRow = e.DataRow
If dc.Name = "起始T点" OrElse dc.Name = "生产作业安排_用时长m"Then
    If dr.IsNull("起始T点") OrElse dr.IsNull("生产作业安排_用时长m") Then
        dr("生产作业安排_结束T点") = Nothing
    Else
        dr("生产作业安排_结束T点") = dr("起始T点").AddMinutes(dr("生产作业安排_用时长m"))
    End If
End If

其中 "生产作业安排_用时长m"是表达式,我也知道表达式不能触发事件,看有没有什么办法让上述代码变通一下

希望得到 09:15(起始T点)+130分钟(生产作业安排_用时长m)=11:25 的结果


--  作者:狐狸爸爸
--  发布时间:2012/2/29 10:29:00
--  

假定“生产作业安排_用时长m”是通过名为A、B的两列计算得出,你的代码应该改为:

 

Dim dc As DataCol = e.DataCol
Dim dr As DataRow = e.DataRow
Select Case dc.Name
    Case "起始T点","A","B"
        If dr.IsNull("起始T点") OrElse dr.IsNull("生产作业安排_用时长m") Then
            dr("生产作业安排_结束T点") = Nothing
        Else
            dr("生产作业安排_结束T点") = dr("起始T点").AddMinutes(dr("生产作业安排_用时长m"))
        End If
End Select


--  作者:土佛
--  发布时间:2012/2/29 11:41:00
--  
多谢老师费心了,可以了