动态网格视图列值取决于另一个列值

时间:2014-02-13 22:25:09

标签: asp.net .net vb.net gridview

我有一个有三个绑定字段的gridview。 “日期”,即添加支持票的日期; “固定日期”,即支持票据解决的日期;和“等待的天数”,应该是机票未解决的天数。

每一行都有不同的日期,可能有也可能没有dateFixed。我可以使用RowDataBound事件从date和dateFixed计算daysWaited,但我不知道如何将daysWaited设置为每行的计算值。

我正在使用VB.NET和.NET 4.0框架。

1 个答案:

答案 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

以下是我测试的屏幕截图...

Screenshot