在Kendo UI kendoComboBox对象中设置dataTextField值

Tim*_*kle 2 kendo-ui kendo-combobox

我有一个像这样的Kendo UI组合框对象:

widget: "kendoComboBox",
            options: {
                dataTextField: "#:userFirstName#&nbsp#:userLastName#",
                dataValueField: "userId",

                template: "#:userFirstName#&nbsp#:userLastName#",
                change: function (e) {
                    that.model.fn.bringUserData();
                }
            }
Run Code Online (Sandbox Code Playgroud)

我可以安排模板,但我不能dataTextField值取决于该模板.可以将其设置为"userId"等.但似乎无法将所选值设置为#:userFirstName# #:userLastName#.(dataTextFieldTemplate不起作用.)

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

Ona*_*Bai 7

正确,你不能使它成为两个领域的组成.它本身需要一个领域.您可以做的是从DataSource读取数据时创建一个附加字段,该字段是这两个字段的串联.你可以添加这样的DataSource定义:

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;
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

那么组合框的选项很简单:

options: {
    dataTextField: "fullName",
    dataValueField: "userId",
    ...
}
Run Code Online (Sandbox Code Playgroud)

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