それぞれのコラムで、値を限定し、ドロップダウンリストで選択できるようにすることもできます。
ただし、この場合には、値に制限がつくことになるので、つねに決められた値を設定してやる必要があります。
つまり、新規にデータを追加する場合など、値を空白とすることはできません。
この際には、データを追加するたびに、初期値を設定してやる必要があります。
なぜかDataTableなどではデフォルト値を設定するメソッドがありません。
イベントをフックし、値を設定してやります。
次に示すコードは、それぞれのコラムの値に適応した初期値を新規作成されたデータに設定するやり方を示したものです。
private void dataGridView1_CellFormatting(object sender , DataGridViewCellFormattingEventArgs e) { if (e.Value == null) { switch (e.ColumnIndex) { case 0: e.Value=dataGridView1.Rows.Count; break; case 1: break; case 2: e.Value = "Instant"; break; case 3: break; case 4: e.Value = "0"; break; case 5: e.Value = "0 sec"; break; } } }
本来ならば、設定するコラムでそれぞれデフォルト値を設定できるような仕組みになっているべきではあると思います。