2016-04-22 3 views
0

Iは第2のグリッドの各列のためのコンボボックスを表示します。私はこの問題を並べ替える助けてください、私はそれとデータバインドにJS関数を実行し、正常に追加されているが、これは初期コンボボックス

// Hows second Grid looking 

@(Html.Kendo().Grid<MyModel>() 
         .Name("SecondGrid") 
         .Columns(columns => 
         { 
          columns.Bound(p => p.Id).Hidden(true); 
          columns.Bound(p => p.ForeName).Title("First Name"); 
          columns.Bound(p => p.SurName).Title("Last Name"); 
          columns.Bound(p => p.Dept); 
          columns.Bound(p => p.Dob).Format("{0:dd/mm/yyyy}"); 
          columns.Bound(p => p.Relationshiptype).Title("Relationship").Template(@<text></text>).HtmlAttributes(new { @class = "templateCell" }).ClientTemplate(

                      Html.Kendo().ComboBox() 
                         .Name("Relationshiptype") 
                         .Placeholder("Select relationship...") 
                         .DataTextField("Text") 
                         .DataValueField("Value") 
                         .BindTo(new List<SelectListItem>() { 
                          new SelectListItem() { 
                          Text = "Husband", Value = "1" 
                          }, 
                          new SelectListItem() { 
                          Text = "Wife", Value = "2" 
                          }, 
                          new SelectListItem() { 
                          Text = "Other relative", Value = "3" 
                          }, 
                          new SelectListItem() { 
                          Text = "Other non relative ", Value = "4" 
                          } 
                         }).ToClientTemplate().ToString()); 

          columns.Command(command => command.Custom("Deselect").Click("removePupil")).Width(180); 
         }) 
              .Events(ev => ev.DataBound("initCombo")) 



       ) 




// Here is my InitCombo function 

function initCombo(e) { 
    $(".templateCell").each(function() { 
     eval($(this).children("script").last().html()); 
    }); 
} 

のみ最初の行にコンボボックスを追加します。次に、他の行の値と一緒に、どのようにして選択されたコンボの値をトラバースして取得することができるでしょうか。

ありがとうございました

答えて

1

テンプレートを作成することをお勧めします。剣道のように文書How to Customize the Way Properties Are Displayed in Grid-Bound Column

次に、ページに作成されたウィジェットごとに一意のIDを使用する必要があることに注意してください。したがって、Name値は各行に対して一意である必要があります。それを文字列に割り当てることで、レンダリングされるDOM要素のIDは同じになります。

例を提供したより詳細な応答はフォーラムスレッドで利用でき、同じ質問には同じ質問が表示されます。Initialize Combobox for each row of Telerik MVC Grid