Цикл для каждого дня в текущем месяце и проверка строк на совпадение - PullRequest
0 голосов
/ 12 декабря 2011

Как я могу написать цикл, который будет выполняться для каждого дня в текущем месяце, а затем проверить, есть ли в наборе данных запись, соответствующая одному из этих дней, и выполнить действие?

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

Это генерирует слишком много строк в таблице, которую я строю. По сути, каждый день получает столько строк, сколько содержится данных.

Я создаю таблицу HTML, которая отображается в диаграмме с использованием jquery, поэтому мне нужна ежедневная работа на каждый месяц месяца.

Ответы [ 2 ]

1 голос
/ 12 декабря 2011

Я думаю, что более подходящим было бы использование счетчика дней в цикле для строк, чтобы вы фактически не перебирали все дни снова для каждой записи в таблице данных.

Так что теперь, если у вас есть запись, ее добавленная к строке еще пропущена, и значение увеличивается, поэтому, если идти дальше, вы должны получить необходимые точки данных.попробуй

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
1 голос
/ 12 декабря 2011

Вы должны отбросить первый цикл For, так как он вызывает выбор всех строк. Вместо этого установите День = Сегодня. Т.е.

Day as Integer = date.day

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...