トップ回答者
DataGridViewの初期設定でグリッドを表示させたい

質問
回答
すべての返信
-
oshieteさん
DataGridViewと書いてある事からWindows Formである事がわかるといいよ。
traemiyaさん、じゃんぬさん
アドバイスありがとうございます。
空のDataTableをバインドさせるという事で以下の様にしてみました。
Form1_Loadイベント内で、
DataTable dtable = new DataTable();
dtable.Columns.Add("team", typeof(string));
dtable.Columns.Add("player", typeof(string));
dtable.Columns.Add("age", typeof(string));for (int i = 0; i < 10; i++)
{
DataRow drow = dtable.NewRow();
drow["team"] = "";
drow["player"] = "";
drow["age"] = "";
dtable.Rows.Add(drow);
}dataGridView2.DataSource = dtable;
として、10行空の表を作成する事が出来ました。
プロパティで設定が出来ないのでコードを書く必要があるんですね。
ありがとうございました。
PS:興味深い事がわかったのですが、ASP.NETのGridView等にデータをバインドさせるには
GridView1.DataSource = dtable;
GridView1.DataBind();
の2行が必要なのに、Windows Formでは
DataGridView1.DataSource = dtable;
の一行でバインドされてたんですね。最近ASP.NETを会社で使っているので、見落として
ました。
-
KentaroM さんからの引用 PS:興味深い事がわかったのですが、ASP.NETのGridView等にデータをバインドさせるには
GridView1.DataSource = dtable;
GridView1.DataBind();
の2行が必要なのに、Windows Formでは
DataGridView1.DataSource = dtable;
の一行でバインドされてたんですね。最近ASP.NETを会社で使っているので、見落として
ました。
ASP.NETの場合、DataBindingイベントを起こさなければ、バインドされているコントロールが、そのバインドされている値を評価しません。このDataBindingイベントを起こすのがDataBind()です。一方、Windowsフォームの場合は、データソース側で変更があったことをバインドしているコントロールに知らせることができるので、このようなことが必要ありません。
-
こんにちは。中川俊輔 です。
oshieteさん、じゃんぬねっとさん、trapemiyaさん、大変参考になる回答ありがとうございます。
KentaroMさんへ
問題が解決されたようなので、oshieteさん、じゃんぬねっとさん、trapemiyaさんの回答へ
回答済みチェックをつけさせていただきました。
回答済みチェックが付くことにより、有用な情報を探している方が情報を見つけやすくなります。
問題解決につながる回答があった場合は、なるべく回答済みボタンを押してチェックを付けてください。KentaroMさんはチェックを解除することもできますので、ご確認ください。
それでは!