C# KeyValuePair でドロップダウンリストの値を設定
ドロップダウンリストへの値のセットに DataTable ではなく、KeyValuePair を使用する方法。この方法は、書き方を統一できるメリットがある。
>();
for (var i = 1; i < 12; i++) { list.Add(new KeyValuePair(i, string.Format("{0} がつ", i)));
}
this.DropDownList1.DataValueField = "Key";
this.DropDownList1.DataTextField = "value";
this.DropDownList1.DataSource = list;
this.DropDownList1.DataBind();
セットする際に常に Key や value だけセットすればデータの中身がセットされる。 カラム名に依存せずにセットできるので楽である。
DataTable による初期化
こういうの、未だにけっこうある。DataTable dt = new DataTable(); dt.Columns.Add("きー", typeof(int)); dt.Columns.Add("あたい", typeof(string)); for (var i = 1; i < 12; i++) { var dr = dt.NewRow(); dr["きー"] = i; dr["あたい"] = i.ToString() + " がつ"; dt.Rows.Add(dr); } DropDownList1.DataSource = dt; DropDownList1.DataTextField = "きー"; DropDownList1.DataValueField = "あたい"; DropDownList1.DataBind();
KeyValuePair による初期化
var list = new Listfor (var i = 1; i < 12; i++) { list.Add(new KeyValuePair
}
this.DropDownList1.DataValueField = "Key";
this.DropDownList1.DataTextField = "value";
this.DropDownList1.DataSource = list;
this.DropDownList1.DataBind();
セットする際に常に Key や value だけセットすればデータの中身がセットされる。 カラム名に依存せずにセットできるので楽である。