2016-12-02 1 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の画像を挿入しましたが、コードを整数で1つおきにループし、列(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 

それを行う必要があること。

「ステップ」キーワードを使用すると、指定した数だけ各繰り返しの後にインデックス変数が増加します。

+0

私は 'For i = 2〜* 6 * Step 2'を変更する必要がありましたが、これはまさに私がDavidに感謝していたものです! –

+0

はい、あります。ごめんなさい:)回答の編集: –

関連する問題