2014-10-31 59 views
0

已经在网格模板与剑道组合框:剑道()组合框()在模板 - 如何设置的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); 
    } 

,并记住新的ID添加到组合框:

 @(Html.Kendo().ComboBox() 
     .Name("ComboBoxSample#=Id#") 
     .BindTo(new List<SelectListItem>() 
     { etc...