人気ブログランキング | 話題のタグを見る
(.Net)DataGridViewでセル値がNULL(DBNull)や空文字時に表示するテキストを変えたい

要件としては、DataGridView でセルの値が null,DBNull,空文字時に "値が入っていません" というメッセージを表示するというものです。

最初、 DOBON:DataGridViewでセルの値がnullやDBNull.Valueの時に表示するテキストを変更するで紹介されているように、DefaultCellStyle.NullValue プロパティを使おうと思っていました。
Me.dgv.Columns("a").DefaultCellStyle.NullValue = "値が入っていません"

しかし、この場合だと、セル値が null,DBNull の時しか使えないようです。
結局、CellFormatting イベントを使って、if文で判断するようにしました。
'dgvはDataGridViewコントロール
Private Sub dgv_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles dgv.CellFormatting
'ホスト名列に値が無い場合は未使用と表記する。
If dgv.Columns("a").Index = (e.ColumnIndex) _
AndAlso (dgv.Rows(e.RowIndex).Cells("a").Value Is DBNull.Value _
OrElse String.IsNullOrEmpty(dgv.Rows(e.RowIndex).Cells("a").Value)) Then
e.Value = "未使用です"
End If
End Sub

空文字もNULLとみなす要件の時は注意が必要ですね。
by jehoshaphat | 2009-06-30 23:35 | .Net開発


<< (.Net)ProgressB... XOOPS Cube をインス... >>