2016-12-02 54 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

我不得不改变'对于我= 2到* 6 *步骤2'它的工作,但这正是我要找的感谢大卫! –

+0

哎呀是的。对不起,关于:)回答编辑:) –