首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DateAdd不会在迭代中更新。

DateAdd不会在迭代中更新。
EN

Stack Overflow用户
提问于 2019-07-02 20:40:49
回答 1查看 64关注 0票数 0

大家好,我有一个问题,我正在为项目做一个制造计划,我的项目开始日期是TextBox1,卷筒数量是TextBox4,用户必须指定多少个Ci (卷轴),并从那里开始规划制造计划。

所有这些信息都被清空到一个DataGridView中,其中我有“部门”是“区段”“操作”“结束日期”“初始日期”的列。

问题是,当我的代码以Reel No 2开头时,它会为Reel No 1指定相同的日期,类似这样。

代码语言:javascript
复制
Manufacturing   Channel Cut plate C1            04/07/2019  04/07/2019
Manufacturing   Channel Rolled plate C1         04/07/2019  04/07/2019
Manufacturing   Channel Longituidal welding C1  08/07/2019  09/07/2019
Manufacturing   Channel Re rolled C1            10/07/2019  11/07/2019
Manufacturing   Channel Cut plate C2            04/07/2019  04/07/2019
Manufacturing   Channel Rolled plate C2         04/07/2019  04/07/2019
Manufacturing   Channel Longituidal welding C2  08/07/2019  09/07/2019
Manufacturing   Chanel  rolled C2               10/07/2019  11/07/2019

我需要C2的卷轴从Reel 1最后一次活动的日期开始,然后停留,就像这样。

代码语言:javascript
复制
Manufacturing   Channel Cut plate C1            04/07/2019  04/07/2019
Manufacturing   Channel Rolled plate C1         05/07/2019  05/07/2019
Manufacturing   Channel Longituidal welding C1  06/07/2019  07/07/2019
Manufacturing   Channel Re rolled C1            10/07/2019  11/07/2019
Manufacturing   Channel Cut plate C2            11/07/2019  12/07/2019
Manufacturing   Channel Rolled plate C2         13/07/2019  14/07/2019
Manufacturing   Channel Longituidal welding C2  15/07/2019  16/07/2019
Manufacturing   Chanel  rolled C2               17/07/2019  18/07/2019

我正在使用的代码是下一个。

代码语言:javascript
复制
Private Sub Button1_Click (sender As Object, and As EventArgs) Handles Button1.Click
       Dim date1 As Date = CType (TextBox1.Text, Date)
        Dim numRows As Integer
        If Integer.TryParse (TextBox4.Text, numRows) Then
        If (numRows> = 1) Then
        For i As Integer = 1 To numRows
        Table.Rows.Add ("Manufacturing", "Channel", "Cut plate C" & i, DateAdd (DateInterval.Day, 1, date1), DateAdd (DateInterval.Day, 2, date1))
        Table.Rows.Add ("Manufacturing", "Channel", "Rolled plate C" & i, DateAdd (DateInterval.Day, 3, date1), DateAdd (DateInterval.Day, 4, date1))
        Table.Rows.Add ("Manufacturing", "Channel", "Longituid welding C" & i, DateAdd (DateInterval.Day, 5, date1), DateAdd (DateInterval.Day, 6, date1))
        Table.Rows.Add ("Manufacturing", "Channel", "Re rolled C" & i, DateAdd (DateInterval.Day, 7, date1), DateAdd (DateInterval.Day, 8, date1))
        Next
        Else
        MessageBox.Show ("Value:" & TextBox4.Text, "The number of rows must be greater than or equal to 1")
        End If
        Else
        MessageBox.Show ("Value:" & TextBox4.Text, "Invalid number")
        End If
End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-03 19:07:06

在你编辑好了之后。

你说过:

我需要C2的卷轴从Reel 1最后一次活动的日期开始.

您可以更改循环底部的"date1“值,以便下一个卷轴以该日期开始:

代码语言:javascript
复制
For i As Integer = 1 To numRows
    Table.Rows.Add("Manufacturing", "Channel", "Cut plate C" & i, DateAdd(DateInterval.Day, 1, date1), DateAdd(DateInterval.Day, 2, date1))
    Table.Rows.Add("Manufacturing", "Channel", "Rolled plate C" & i, DateAdd(DateInterval.Day, 3, date1), DateAdd(DateInterval.Day, 4, date1))
    Table.Rows.Add("Manufacturing", "Channel", "Longituid welding C" & i, DateAdd(DateInterval.Day, 5, date1), DateAdd(DateInterval.Day, 6, date1))
    Table.Rows.Add("Manufacturing", "Channel", "Re rolled C" & i, DateAdd(DateInterval.Day, 7, date1), DateAdd(DateInterval.Day, 8, date1))
    date1 = DateAdd(DateInterval.Day, 8, date1)
Next
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56859777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档