注意:DataGridViewコントロールは、.NET Framework 2.0で新しく追加されました。
セルの値がnull(VB.NETではNothing)やDBNull.Valueの時に、セルに表示される文字列を指定するには、セルスタイル(DataGridViewCellStyleオブジェクト)のNullValueプロパティを使用します。なお、セルスタイルに関する知識の無い方は、まずは「DataGridViewにセルスタイルを設定する」をお読みください。
セルの値がnullやDBNull.Valueの時に、セルに「指定されていません。」と表示されるようにするには、次のようにします。
DataGridView1.DefaultCellStyle.NullValue = "(指定されていません)"
DataGridView1.DefaultCellStyle.NullValue = "(指定されていません)";
NullValueプロパティには文字列以外のオブジェクトも設定できます。例えば、画像を表示するセルならば、画像を設定することができます。
ユーザーがNullValueプロパティで指定された文字列をセルに入力した場合、そのセルにはnull値が入力されます。
補足:ユーザーは「Ctrl + 0」キーを押すことによってもnull値を入力できます。
ユーザーがセルにnull値を入力した時にデータソースの値が何になるかは、セルスタイルのDataSourceNullValueプロパティで決定されます。デフォルトではDataSourceNullValueプロパティはDBNull.Valueですので、上記の例でユーザーがセルに「指定されていません。」と入力すると、そのセルの値はDBNull.Value(セルの型が参照型のときは、null)になります。
DataSourceNullValueプロパティを変更する例を示します。NullValueを「-」、DataSourceNullValueを「X」にしています。このようにした状態でユーザーがセルに「-」を入力すると、そのセルが確定された後、「X」に変わります。
DataGridView1.DefaultCellStyle.NullValue = "-" DataGridView1.DefaultCellStyle.DataSourceNullValue = "X"
DataGridView1.DefaultCellStyle.NullValue = "-"; DataGridView1.DefaultCellStyle.DataSourceNullValue = "X";
NullValueやDataSourceNullValueプロパティが変更されたかを調べるには、IsNullValueDefaultとIsDataSourceNullValueDefaultプロパティを使用します。変更されていれば、falseとなります。NullValueやDataSourceNullValueプロパティの値が既定値と同じであっても、それが設定されたものであれば、falseとなるようです。
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。