我有一个有三个绑定字段的gridview。 “日期”,即添加支持票的日期; “固定日期”,即支持票据解决的日期;和“等待的天数”,应该是机票未解决的天数。
每一行都有不同的日期,可能有也可能没有dateFixed。我可以使用RowDataBound事件从date和dateFixed计算daysWaited,但我不知道如何将daysWaited设置为每行的计算值。
我正在使用VB.NET和.NET 4.0框架。
答案 0 :(得分:1)
不确定如何加载数据,希望设置gridview的数据源。设置数据源后,可以调用此方法。它将通过并比较每行的日期,它还会检查是否有任何内容。这在我的测试中运作良好。希望你发现这对你有用。
Private Sub CalcDays()
For i As Integer = 0 To GridView1.Rows.Count - 1
Dim stDate As Date
Dim endDate As Date
Dim daysPassed As Integer = -1
If Not (GridView1.Rows(i).Cells(1).Text = " ") Then
stDate = DateTime.Parse(GridView1.Rows(i).Cells(0).Text)
endDate = DateTime.Parse(GridView1.Rows(i).Cells(1).Text)
While (stDate <= endDate)
stDate = stDate.AddDays(1)
daysPassed += 1
End While
GridView1.Rows(i).Cells(2).Text = daysPassed.ToString
Else
GridView1.Rows(i).Cells(2).Text = "NA"
End If
Next
End Sub
以下是我测试的屏幕截图...