循环当前月份中的每一天并检查行匹配

时间:2011-12-12 07:04:57

标签: asp.net vb.net for-loop

如何编写一个循环来运行当月的每一天,然后检查数据集是否有与这些日期相匹配的记录并采取行动?

For Day As Integer = 1 To DaysInTheMonth
        For Each row In MyRows
            If row.Date.Day = Day Then
                ' Yup! Found Data for this day!
                ' Add Data to string
            Else
                ' No Data To Display
                ' Add Blank Field String
            End If
        Next
Next

这会在我构建的表中生成太多行。基本上,每天都会获得包含数据的行数。

我正在构建一个使用jquery映射到图表的HTML表,所以我需要一个月的每天。

2 个答案:

答案 0 :(得分:1)

您应该删除第一个For循环,因为这会导致选择所有行。而是设置Day = Today。即

Day as Integer = date.day

答案 1 :(得分:1)

我认为更适合你的运行的是在行的循环中有一个日期计数器,这样你就不会再为数据表中的每个记录重复运行。

所以现在如果你有记录它被添加到字符串中的其他地方被跳过并且数据会增加,所以进一步下去你应该得到所需的数据点。试一试

For Each row In MyRows            
            If row.Date.Day = Day Then
                ' Yup! Found Data for this day!
                ' Add Data to string
            Else
                ' No Data To Display
                ' Add Blank Field String
            End If
            Day = Day + 1;
Next