トップ回答者
DataGridViewのフォーカス移動について

質問
-
DataGridViewのフォーカス移動について質問です。
DataGridViewのデータの入っているセルには普通にフォーカス移動できるのですが新規行にいったときにエラーがでます。
下記のコードの「」部分でエラーがでます。
DGVにフォーカス移動できなくするか、新規行を飛ばして次のボタンなどにフォーカス移動などで対応したいのですが教えていただけますでしょうか?
Private Sub DGV_CellPainting(sender As Object, e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles DGV.CellPainting
「If e.Value = "AAA" Then」
e.CellStyle.ForeColor = Color.Cyan
ElseIf e.Value = "BBB" Then
e.CellStyle.ForeColor = Color.GreenEnd If
回答
-
多分e.Valueが文字列と比較できない型が入っているのでしょう。
Private Sub DGV_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles database.CellPainting If (TypeOf e.Value Is DBNull) Then'たとえばソースがDataTableだとDBNullの場合がある ElseIf e.Value = "AAA" Then e.CellStyle.ForeColor = Color.Cyan ElseIf e.Value = "BBB" Then e.CellStyle.ForeColor = Color.Green End If End Su
あるいは
Private Sub DGV_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles database.CellPainting If TypeOf e.Value Is String Then '文字列が入っている場合のみ If e.Value = "AAA" Then e.CellStyle.ForeColor = Color.Cyan ElseIf e.Value = "BBB" Then e.CellStyle.ForeColor = Color.Green End If End If End Sub
のようにすればエラーにならないでしょう。
個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)
- 回答としてマーク T.K.Tora 2018年3月20日 3:59
すべての返信
-
多分e.Valueが文字列と比較できない型が入っているのでしょう。
Private Sub DGV_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles database.CellPainting If (TypeOf e.Value Is DBNull) Then'たとえばソースがDataTableだとDBNullの場合がある ElseIf e.Value = "AAA" Then e.CellStyle.ForeColor = Color.Cyan ElseIf e.Value = "BBB" Then e.CellStyle.ForeColor = Color.Green End If End Su
あるいは
Private Sub DGV_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles database.CellPainting If TypeOf e.Value Is String Then '文字列が入っている場合のみ If e.Value = "AAA" Then e.CellStyle.ForeColor = Color.Cyan ElseIf e.Value = "BBB" Then e.CellStyle.ForeColor = Color.Green End If End If End Sub
のようにすればエラーにならないでしょう。
個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)
- 回答としてマーク T.K.Tora 2018年3月20日 3:59