こんにちは皆私はVisual Studio 2005で作成されたウィンドウフォームを行っています。そこではデータグリッドビューにデータが表示されます。私は1と0を表示する列 "colImg"があります。しかし、colImgのセルの値が0の場合は赤いイメージを表示し、値が1の場合は緑のイメージを表示する必要があります。緑の画像を表示しますが、値は0です。私のコードに問題はありますか?セル値に基づいて行のイメージの値を変更
Private Sub grdView_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles grdView.CellFormatting
If grdView.Columns(e.ColumnIndex).Name.Equals("colImg") Then
Dim value As Integer
If TypeOf e.Value Is Integer Then
value = DirectCast(e.Value, Integer)
e.Value = My.Resources.Resources.NotYet
Else
For i As Integer = 0 To grdView.RowCount
If value = 0 Then
e.Value = My.Resources.Resources.Red
Else
e.Value = My.Resources.Resources.Green
End If
Next
End If
End If
は、なぜあなたは使用しない '..についてはNext'ループ?ネストされた 'if'が期待していることをやっていることは確かです。 –
私は自分のdatagridviewでそれらの値をループしようとしましたが、私はループを使用しなかったとき、結果は同じです。値が1のセルは緑色で表示されません – Jan
これを試してください: 'CellFormatting'イベントの' e.CellStyle.BackColor = If(e.Value = 0、Color.Red、Color.Green) ' –