0

有一个带有剑道组合框的网格模板:

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

谢谢。

4

1 回答 1

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...
于 2014-11-03T11:40:37.787 回答