以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  日期之间计算  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123755)

--  作者:BATASC750206
--  发布时间:2018/8/22 13:48:00
--  日期之间计算
老师好:
我想计算各车间的生产周期,代码编写如下:

Select Case e.DataCol.Name
    Case "发出日期","完成日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("完成日期") Then
           Dim tp As TimeSpan = Date.today - CDate(e.DataRow("发出日期"))
            e.DataRow("生产周期") = tp.TotalDays
        Else
            Dim tp As TimeSpan = dr("完成日期") - dr("发出日期") 
            dr("生产周期") = tp.TotalDays
        End If
End Select
请问以上代码是否有问题?请帮忙修改

[此贴子已经被作者于2018/8/22 13:50:08编辑过]

--  作者:有点蓝
--  发布时间:2018/8/22 13:51:00
--  
Select Case e.DataCol.Name
    Case "发出日期","完成日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("完成日期") Then
            Dim tp As TimeSpan = Date.today - CDate(dr("发出日期"))
            dr("是否拖期") = tp.TotalDays
        ElseIf dr.IsNull("发出日期") = False
            Dim tp As TimeSpan = CDate(dr("完成日期")) - CDate(dr("发出日期") )
            dr("生产周期") = tp.TotalDays
        End If
End Select

--  作者:BATASC750206
--  发布时间:2018/8/22 14:27:00
--  生产周期计算
图片点击可在新窗口打开查看提示“调用目标出错,列”生产周期“为只读”
--  作者:有点蓝
--  发布时间:2018/8/22 14:30:00
--  
列”生产周期“改文风数据列,不能使用表达式列
--  作者:BATASC750206
--  发布时间:2018/8/22 15:38:00
--  周期计算
你好!
     改过来了,还是不计算,请问还要做何处理?
Select Case e.DataCol.Name
    Case "发出日期","完成日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("完成日期") Then
            Dim tp As TimeSpan = Date.today - CDate(dr("发出日期"))
            dr("生产周期") = tp.TotalDays
        ElseIf dr.IsNull("发出日期") = False
            Dim tp As TimeSpan = CDate(dr("完成日期")) - CDate(dr("发出日期") )
            dr("生产周期") = tp.TotalDays
        End If
End Select
[此贴子已经被作者于2018/8/22 15:45:47编辑过]

--  作者:有点蓝
--  发布时间:2018/8/22 16:07:00
--  
提示什么错误?"发出日期","完成日期"也不能是表达式列