質問: 0 Then 'データ無い時に空白の行を表示させたい。 dataGridView1.Columns.Add("", "dtlHinmokuCd") dataGridView1.Columns.Add("", "dtlHinmokuName") dataGridView1.Columns.Add("", "dtlKikaku") dataGridView1.Columns.Add("", "dtlNyukaSoko") dataGridView1.Columns.Add("", "dtlLotNo") dataGridView1.Columns.Add("", "dtlNyukoNo") dataGridView1.Columns.Add("", "dtlShiyoukigen") dataGridView1.Columns.Add("", "dtlSanchimei") dataGridView1.Columns.Add("", "dtlDenpyo") dataGridView1.Columns.Add("", "dtlNyukaDate") dataGridView1.Columns.Add("", "dtlShiiresakiCd") dataGridView1.Columns.Add("", "dtlShiiresakiName") dataGridView1.Columns.Add("", "dtlNyukaSuryo") dataGridView1.Columns.Add("", "dtlTani") dataGridView1.Rows.Add(27) MsgBox("対象データがありません。") End If reader.Close() End Sub ``` これを実行すると「コントロールがデータバインドされている時、DateGridViewの行コレクションにプログラムで行を追加することはできません」と表示されてしまいます。 なぜDateGridViewのデザイナーで、dataGridView1.Rows.Add(27)と指定いて設定が消えてしまうかも謎です。 宜しくお願いいたします。
回答: DateGridViewに表示するデータは、データバインドか、DataGridView行の直接追加のどちらかしか使えません。 データバインドするなら27行分の空データをDataTableに入れるしかないでしょう。 そうでなければ、データバインドを止めて直接データを入れることになります。 (DataGridViewのDataSouceをNothingにすれば、直接データを入れられます。)