在运行时更改Kendoui Multiselect的数据源

时间:2013-05-13 08:37:53

标签: kendo-ui multi-select

我想在运行时将数据绑定到kendoui multiselect。 例如,假设我想将它绑定为drobdownlist的级联。 任何想法?

2 个答案:

答案 0 :(得分:5)

<p>
    <label for="categories">Catergories:</label>

    @(Html.Kendo().DropDownList()
        .Name("categories")
        .HtmlAttributes(new { style = "width:300px" })
        .OptionLabel("Select category...")
        .DataTextField("CategoryName")
        .DataValueField("CategoryId")
        .DataSource(source =>
        {
            source.Read(read =>
            {
                read.Action("GetCascadeCategories", "CoreParam");
            });
        })
        .Events(e =>e.Select("select"))
    )

</p>
<p>
    <label for="parameters">Parameters:</label>

    @(Html.Kendo().MultiSelect()
        .Name("parameters")
        .HtmlAttributes(new { style = "width:400px" })
        .DataTextField("ParamDesc")
        .DataValueField("ParamCode")
        .Placeholder("Select products...")
        .DataSource(source =>
        {
            source.Read(read =>
            {
                read.Action("GetCascadeParams", "CoreParam")
                    .Data("filterParams");
            })
            .ServerFiltering(true);
        })
        .AutoBind(false)
    )

</p>

<script type="text/javascript">

    function filterParams() {
        return {
            categories: $("#categories").val()
        };
    }

    function select(e) {
        var dropdownlist = $("#categories").data("kendoDropDownList");
        dropdownlist.select(e.item.index());
        var multiselect = $("#parameters").data("kendoMultiSelect");
        multiselect.dataSource.read();
    };
</script>

答案 1 :(得分:0)

您可以创建一个自定义MVVM活页夹,它将获取下拉列表的文本,并将设置ViewModel的属性。此属性可以绑定到隐藏字段。请查看以下链接以获取更多信息。