2014-10-31 6 views
0

есть сетка-шаблон с кендо списком в:Кендо() ComboBox() в шаблоне - как установить SelectedIndex

<script id="templateSample" type="text/kendo-tmpl"> 

    @*Active holds the selected value*@ 
    # alert(Active) # // 

    @(Html.Kendo().ComboBox() 
     .Name("ComboBoxSample") 
     .BindTo(new List<SelectListItem>() 
     { 
      new SelectListItem() 
      { 
       Value = "true", 
       Text = "Yes", 
       Selected = false, 
      }, 
      new SelectListItem() 
      { 
       Value = "false", 
       Text = "No", 
       Selected = false, 
      } 
     }) 
     .DataTextField("Text") 
     .DataValueField("Value") 
     .SelectedIndex(1) 
     .ToClientTemplate() 
    ) 
    </script> 

появляется шаблон всякий раз, когда строка расширяется (см http://demos.telerik.com/aspnet-mvc/grid/hierarchy).

Не могу понять, как установить выбранный индекс с выбранным в данный момент элементом.

Чтобы установить выбранный элемент, я могу выбрать SelectListItem.Selected или Combobox.SelectedItem, но как установить значение из элемента, отображаемого в данный момент в шаблоне?

Спасибо.

ответ

0

Я нашел способ решить эту проблему с помощью javascript.

Добавить событие в сетке:

.Events(e=>e.DetailInit("aftertemplateload")) 

И сценария:

function aftertemplateload(e) { 
     $("#ComboBoxSample" + e.data.Id).data("kendoComboBox").value(e.data.Active); 
    } 

и не забудьте добавить новый идентификатор в выпадающем списке:

 @(Html.Kendo().ComboBox() 
     .Name("ComboBoxSample#=Id#") 
     .BindTo(new List<SelectListItem>() 
     { etc... 
Смежные вопросы