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 に答える