设置剑道UI kendoComboBox对象中的dataTextField值



我有一个剑道UI组合框对象像这样:

widget: "kendoComboBox",
            options: {
                dataTextField: "#:userFirstName#&nbsp#:userLastName#",
                dataValueField: "userId",
                template: "#:userFirstName#&nbsp#:userLastName#",
                change: function (e) {
                    that.model.fn.bringUserData();
                }
            }

我可以安排模板,但我不能dataTextField值依赖于该模板。也可以将其设置为"userId"等。但是似乎不可能将选定值设置为#:userFirstName#& nbsp#:userLastName#。(dataTextFieldTemplate不工作)

你能帮我解决这个问题吗?

正确,您不能使它由两个字段组成。它需要是一个字段本身。您可以做的是在从数据源读取数据时创建一个附加字段,该字段是这两个字段的连接。你可以像这样添加数据源定义:

var dataSource = new kendo.data.DataSource({
    transport: {
        read: {
              url: "..."
        }
    },
    schema: {
        parse: function(response) {
            $.each(response, function(idx, elem) {
                elem.fullName = elem.firstName + " " + elem.lastName;
            });
            return response;
        }
    }
});

那么组合框的选项就是:

options: {
    dataTextField: "fullName",
    dataValueField: "userId",
    ...
}

在这里看到它的作用:http://jsfiddle.net/OnaBai/12hpLeux/1/

最新更新