你好我的项目我正在使用vb,我有一个datagridview绑定数据源。 例如,我有这个列名称
StartTime-显示作业开始的时间
早上7点 下午4:30
小时 - 该工作将持续多长时间
30分钟 2小时我希望能够将计算剩余时间添加到插入到datagridview中的每一行。
我已经有一个未绑定到数据源的列名remainingTime。如何将计算剩余时间添加到每一行。即使用户插入了新行?我已经计算了剩下的时间,但它只对第一行做了这个。
在我的表单加载中我有
Dim myTime As Date
'RemainingTime
Dim totalTime As Date = runningJobs_list.Rows(0).Cells(5).Value
' Dim totalTime As Date = runningJobs_list.Rows(0).Cells(5).Value
myTime = totalTime.AddHours(runningJobs_list.Rows(0).Cells(6).Value)
' myTime = totalTime.AddHours(runningJobs_list.Rows(0).Cells(6).Value)
Timer.Start()
这是我的计时器来进行扩孔时间倒计时
Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
'variable to compare two timespan
Dim myspan As TimeSpan
myspan = TimeSpan.Zero
'decrease myTime to actual system time
Dim remainingTime As TimeSpan = myTime.Subtract(Date.Now)
'if the remaining time is less than zero then set red the entire row otherwise decrease timer
If remainingTime < myspan Then
runningJobs_list.Rows(0).DefaultCellStyle.BackColor = Color.Red
Else
runningJobs_list.Rows(0).Cells(8).Value = remainingTime
End If
End Sub
请有人帮帮我吗?
答案 0 :(得分:0)
你必须将该计算包装到foreach循环中,循环遍历网格中的所有行(除了最后一个空行。检查行IsNewRow状态,或者如果Cells(0).Text为空以验证它是否为空... 。)
所以这个:
runningJobs_list.Rows(0).Cells(8).Value = ...
应该是这样的:
ForEach gridRow As DataGridRow in runningJobs_List.Rows
gridRow.Cells(8).Value = ...<br />
Next