模板中的Kendo()。ComboBox() - 如何设置SelectedIndex

时间:2014-10-31 17:29:38

标签: telerik asp.net-mvc-5 kendo-combobox

使用带有kendo组合框的网格模板:

 <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,但如何设置模板中当前显示的项目的值?

感谢。

1 个答案:

答案 0 :(得分: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...