Я хочу получить общее количество из условия для цикла. Скажем, для первой строки (I) код проверит условие if, если условие соответствует определенному месяцу, затем используйте специальный цикл for, чтобы получить количество столбцов (например: если месяц строки равен 1, то для For k As Integer = 4 применяется dt.Columns.Count - 1, чтобы получить счет, если для месяца в строке 2, то применяется For k As Integer = 4 To dt. .Columns.Count - 2, чтобы получить счет и т. Д.), Затем вторая строка (I) и т. Д., После условия if else k, затем вернуть общее количество, как я могу его достичь?
Я попробовал описанный ниже метод, но мой приведенный ниже код не работал так, как было описано выше, он только возвращает счет для первого условия. Пожалуйста, объясните мне это:
For I As Integer = 0 To dt.Rows.Count - 1
'If dt.Rows(I).Item("Month").ToString = "1" Or dt.Rows(I).Item("Month").ToString = "3" Or dt.Rows(I).Item("Month").ToString = "5" Or dt.Rows(I).Item("Month").ToString = "7" Or dt.Rows(I).Item("Month").ToString = "8" Or dt.Rows(I).Item("Month").ToString = "10" Or dt.Rows(I).Item("Month").ToString = "12" Then
For k As Integer = 4 To dt.Columns.Count - 1
If dt.Rows(I).Item(k).ToString() = "1" Then
count1 += 1
Else
count1 = 0
End If
If count1 > 13 Then
Dx = True
End If
Next k
'ElseIf dt.Rows(I).Item("Month").ToString() = "2" Or dt.Rows(I).Item("Month").ToString() = "4" Or dt.Rows(I).Item("Month").ToString() = "6" Or dt.Rows(I).Item("Month").ToString() = "9" Or dt.Rows(I).Item("Month").ToString() = "11" Then
'For k As Integer = 4 To dt.Columns.Count - 2
'If dt.Rows(I).Item(k).ToString() = "1" Then
' count1 += 1
'Else
' count1 = 0
'End If
' If total > 13 Then
' Dx = True
' End If
'Next k
'End If
Next I
DataTable (столбец представляет дату, месяц 11 имеет 30 столбцов, а месяц 12 имеет 31 столбец)
----------------------------------------------------------------------------
Id | year | month | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | till 31
----------------------------------------------------------------------------
kek | 2019 | 10 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
kek | 2019 | 11 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
kek | 2019 | 12 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
ссылка
Ожидаемый результат:
если последовательный счет с 11/11 по 12/12 больше 13, то dx возвращает true.