我在我的kendo网格中的一个列上使用自定义模板。一切都很好,当数据检索时,下拉列表显示正确的值。但是,当我单击编辑命令时,该行将变为编辑模式,下拉列表不会显示其值。只有当我点击下拉列表时,项目才会显示为已选中。我想要的是它在编辑模式下显示文本。
我的代码:
function customDdlEditor(container, options) {
$('<input required data-text-field="text" data-value-field="value" data-bind="value:' + options.field + '"/>')//data-text-field="text" data-value-field="value" data-bind="value:fieldType"
.appendTo(container)
.kendoDropDownList({
autobinds: false,
dataTextField: "text",
dataValueField: "value",
dataSource: ddl
});
}
var ddl = [{ text: "Text", value: "Text" },
{ text: "Date", value: "Date" },
{ text: "Number", value: "Number"}];
var Grid = $("#grid").kendoGrid({
dataSource: fieldDataSource,
columns: [
...
{ field: "type", title: "Type", editor: customDdlEditor, template: "#= type #" },
...
,
noRecords: true,
}).data("kendoGrid");
var fieldDataSource = new kendo.data.DataSource({
data: gridData,
pageSize: 50,
schema: {
model: {
id: "name",
fields: {
...,
type: { field: "type"},
...
}
}
}
});
任何人都知道如何解决这个问题?
答案 0 :(得分:0)
如果你让你的下拉autoBind:true应该工作。
function customDdlEditor(container, options) {
$('<input required data-text-field="text" data-value-field="value" data-bind="value:' + options.field + '"/>')//data-text-field="text" data-value-field="value" data-bind="value:fieldType"
.appendTo(container)
.kendoDropDownList({
autobinds: true, // <-- auto bind true instead
dataTextField: "text",
dataValueField: "value",
dataSource: ddl
});
}