我的Kendo observable不是与Kendo Drop DownList相关的数据绑定

时间:2015-12-11 17:35:33

标签: kendo-ui kendo-grid

我目前正在使用Kendo UI,并尝试将我的Kendo observable数据绑定到我的下拉列表。我的下拉列表是自定义的,是在Kendo编辑弹出对象中创建的。我使用了一种简单的方法,只需在我的列中调用编辑器并创建一个在该对象中创建下拉列表的函数。现在我能够在我的HTML文件中解决数据绑定问题,但是我发现很难对我当前的方法做同样的事情。

目前我正在使用数据填充网格,我能够使用客户端名称和客户端编号填充网格,但客户端类型未发布。我假设没有适当的数据绑定。

这是我的剑道观察

var viewModel = kendo.observable({
    client: {
        clientName: "",
        clientNumber: "",
        clientType: "",
    },
    dropdownlist: ["HCC", "Tax", "Audit", "Advisory"],
});

这是我的剑道网格

$("#grid").kendoGrid({
    dataSource: client,
    toolbar: ["create"],

    columns: [{
        field: "clientName",
        title: "Client Name",
    },
    {
        field: "clientNumber",
        title: "Client Number",
    },
    {
        field: "clientType",
        title: "Client Type",
        editor: categoryDropDownEditor,
    }
    ],
    editable: "popup",
})

这是我的自定义功能,我遇到了数据绑定问题。

function categoryDropDownEditor(container) {
    $('<input data-role="dropdownlist" data-bind="source: dropdownlist , value: client.clientType">')
        .appendTo(container)
        .kendoDropDownList({
            optionLabel: "Engagement Types",
            dataSource: viewModel.dropdownlist,              
        });
}

enter image description here

1 个答案:

答案 0 :(得分:1)

value: client.clientType替换为value: clientType

function categoryDropDownEditor(container) {
    $('<input data-role="dropdownlist" data-bind="source: dropdownlist, value: clientType">')
        .appendTo(container)
        .kendoDropDownList({
            optionLabel: "Engagement Types",
            dataSource: viewModel.dropdownlist,              
        });
}