以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  无法即时更新  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110394)

--  作者:有点蓝
--  发布时间:2017/12/1 23:35:00
--  
代码写在哪个表哪个事件的?
--  作者:有点蓝
--  发布时间:2017/12/2 11:50:00
--  
Dim dt As DataTable =DataTables("生产排产表")
If e.DataCol.Name = "设备编码" Then
    Dim drs = dt.Select("使用设备 = \'" & e.DataRow("设备编码") & "\'")
    For Each dr As DataRow In drs
        Dim d1 As Date = dr("开始日期")
        Dim d2 As Date = dr("实际完成日期")
        msgbox((d2-d1).TotalDays) ‘看弹出什么值
        For i As Integer = 0 To (d2-d1).TotalDays
            Dim d As Date = d1.AddDays(i)
            Dim sp As TimeSpan = d - Date.Today
            If sp.TotalDays >=0 AndAlso sp.TotalDays < 31 Then
            msgbox("列=日" & (sp.TotalDays+1) & ",值=" & dr("成品描述")) ‘看弹出什么值
                e.DataRow("日" & sp.TotalDays+1) = dr("成品描述")
            End If
        Next
    Next
End If

--  作者:有点蓝
--  发布时间:2017/12/2 12:16:00
--  
这一长串的提示还看不懂问题在哪里吗?
--  作者:有点蓝
--  发布时间:2017/12/5 21:49:00
--  
TotalDays不是整数值,自然不能和列名称对应起来


--  作者:有点蓝
--  发布时间:2017/12/5 22:18:00
--  
Dim dt As DataTable =DataTables("生产排产表")
If e.DataCol.Name = "使用设备" Then
    Dim drs = dt.Select("使用设备 = \'" & e.DataRow("使用设备") & "\'")
    For Each dr As DataRow In drs
        Dim d1 As Date = dr("开始日期")
        Dim d2 As Date = dr("实际完成日期")
        For i As Integer = 0 To math.Ceiling(d2-d1).TotalDays)
            Dim d As Date = d1.AddDays(i)
            Dim sp As TimeSpan = d - Date.Today
     dim d as integer = math.Ceiling(sp.TotalDays)
            If d>=0 AndAlso d < 31 Then
           e.DataRow("日" & d+1) = dr("成品描述")
            End If
        Next
    Next
End If

--  作者:有点蓝
--  发布时间:2017/12/5 22:33:00
--  
math.Ceiling((d2-d1).TotalDays)
--  作者:有点蓝
--  发布时间:2017/12/5 22:44:00
--  
少了个括号
--  作者:有点蓝
--  发布时间:2017/12/5 23:17:00
--  
e.DataRow("日" & (d+1)) = dr("成品描述")
--  作者:有点蓝
--  发布时间:2017/12/6 9:11:00
--  
e.DataRow("日" & (d3+1)) = dr("成品描述")

--  作者:有点蓝
--  发布时间:2017/12/6 10:33:00
--  
你要先搞清楚你自己的逻辑,你的日期是带时间的,计算出来不足一天的话,应该是向下取整还是像取整?

比如是1.3天,是算1天还是2天?1.8天呢?

0.2天呢,算一天吗,算今天,还是+1算成明天?