2016-12-02 3 views
0

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

Dim i As Integer 

    i = i + 1 

    For i = 1 To 5 
     Dim value6 As Integer = DataGridView1.Rows(e.RowIndex).Cells(i).Value 
     Select Case value6 
      Case "1" 
       DataGridView1.Rows(e.RowIndex).Cells(i).Style.BackColor = Color.LightBlue 
      Case "2" 
       DataGridView1.Rows(e.RowIndex).Cells(i).Style.BackColor = Color.Chartreuse 
      Case "3" 
       DataGridView1.Rows(e.RowIndex).Cells(i).Style.BackColor = Color.Orange 
     End Select 
    Next i 

Он продолжает ломаться, когда попадает в столбец с датой, потому что это не целое число.

Я вставил картинку DataGridView ниже, но я хочу, чтобы код проходил через каждый столбец с целым числом и считывал значение, начиная с столбца (2), заканчивающегося в столбце (6).

Любая помощь будет оценена!

DataGridView Image

ответ

0

Ну, если вы начинаете с индексом столбца 2 вам необходимо изменить номер для начала цикла. Для того, чтобы получить петлю для перебора альтернативных столбцов, добавьте «Шаг 2» до конца вашего для заявления, как это:

For i = 2 To 6 Step 2 
    Dim value6 As Integer = DataGridView1.Rows(e.RowIndex).Cells(i).Value 
    Select Case value6 
     Case "1" 
      DataGridView1.Rows(e.RowIndex).Cells(i).Style.BackColor = Color.LightBlue 
     Case "2" 
      DataGridView1.Rows(e.RowIndex).Cells(i).Style.BackColor = Color.Chartreuse 
     Case "3" 
      DataGridView1.Rows(e.RowIndex).Cells(i).Style.BackColor = Color.Orange 
    End Select 
Next i 

Это должно сделать это.

Ключевое слово «Step» заставляет индексную переменную увеличиваться после каждой итерации по указанному вами номеру.

+0

Мне пришлось изменить 'For i = 2 to * 6 * Step 2', чтобы он работал, но это именно то, что я искал благодаря Дэвиду! –

+0

Упс да. извините, что :) Отвечено отредактировано :) –

Смежные вопросы