MVCで結合モデルのビューは、非常に多くの場合、このレコードについてのDataTableのデータに基づいてデータを取り込むために、ドロップダウンボックスを使用するので、ドロップダウンボックスの方法
1 /// <まとめ> 2 /// ドロップダウンボックスデータテーブルのパディングデータリストに変わります<SelectListItem> 入力 3 /// </要約> 4 /// <PARAM NAME = "DT"> データのデータテーブル</ PARAM > 。5 /// ます。<param name = "keyColumnName"> 表示テキスト列</ param>の 6 /// <PARAM NAME = "valueColumnNameは"> 値の列を選択し、</ param>の 7 /// <paramは名前が「持っていてくださいは=を選択して"> かどうかを選択します。</ param>の 8 /// <PARAM NAME ="選択しているテキスト「> を選択し、デフォルトのテキストを選択= = </ param>の 9 /// ます。<param name = "はdefaultValue">ドロップダウンボックスのデフォルト値は、</ param>の 10 /// <戻り値> </戻り値> 。11 公共 静的リスト<SelectListItem> bindValues(DataTableのDT、文字列 keyColumnName、文字列 valueColumnNameは、BOOLを選択=持ってfalseにし、文字列を選択してい=テキスト"" 、文字列はdefaultValue = "" ) 12は 、{ 13は リスト<SelectListItem>一覧= 新しい新しいリスト<SelectListItem> (); 14 IF (選択した) 15 { 16 SelectListItem項目= 新しい SelectListItem(){テキスト=请选择テキストを持っている== "" ?「=请选择=」请选择テキストを有し、値= "" }。 17 list.Add(アイテム) 18 } 19 20 21 であれば(dt.Rows.Countの== 0 ) 22 リターンリスト。 23 リスト<タプル< ストリング、ストリング >> VALUELIST = DataTableToList(DT、keyColumnName、valueColumnName)。 24 foreachの(VARの項目でVALUELIST) 25 { 26 であれば(!はdefaultValue =「」&& defaultValue.Contains(item.Item1)) 27 list.Add(新しい SelectListItemは(){本文= item.Item2、値= item.Item1、=選択された真})。 28 他 29 list.Add(新しい SelectListItem(){本文= item.Item2、値= item.Item1、=選択偽})。 30 } 31 リターンリスト。 32 }
この方法は、テキスト表示のようなデータのデータテーブル複数の列を指定すると、項目のリストをタプルタプルに応じて格納される、列挙された値を選択します。タプルはC#7.0の新しいアウトである、あなたは見つけることができます興味を持っています。
1 /// <まとめ> 2 /// データテーブルリストに変わります 。3 /// </要約> 4 /// ます。<param name = "表"> データテーブルオンにする</ PARAM> 。5 /// <PARAM名前= "keyColumnName"> テキスト表示欄指定します。</ param>のを 。6 /// <PARAM NAME = "valueColumnName"> 列選択指定した値</ param>の 7 /// <> </戻り値を返します> 。8 パブリック 静的リスト<タプル< 文字列、文字列 >> DataTableToList(データテーブル表、文字列 keyColumnName、文字列valueColumnName) 9 { 10 リスト<タプル< ストリング、ストリング >>リスト= 新しいリスト<タプル< 文字列、文字列 >> (); 11 であれば(table.Rows.Count == 0 ) 12 リターン ヌル。 13 のためには、(int型 i = 0 ; I <table.Rows.Count; iは++ ) 14 { 15 list.Add(新しいタプル< 文字列、文字列 >(table.Rows [i]が[keyColumnName] .ToString()、table.Rows [i]は[valueColumnName] .ToString()))。 16 } 17 リターンリスト。 18 }