我在网格中有以下配置foo列:
字段:
actionName: {
editable: true,
nullable: true,
defaultValue: {"name" : "TEST123"},
type: "object"
},
柱:
{
field :"actionName",
title : $translate.instant('ACTIONNAME'),
width: "200px",
editor: GlobalHelperService.getActionNamesListForAutocomplete,
template: '#: data.actionName.name #',
filterable: { cell: { operator:"contains"
}
}
},
哪个工作得很好,但如果我点击单元格项目,我总是得到以下值(参见下面的图片),而不是模板属性中定义的文本。
我该如何解决?
非常感谢任何建议。
答案 0 :(得分:1)
这可能不是最干净的方式,但您可以像this blog post中那样使用edit
事件。
$("#grid").kendoGrid({
edit: onEdit
});
function onEdit(editEvent) {
// Ignore edits of existing rows.
if(!editEvent.model.isNew()) { return; }
editEvent.model.set("actionName", {name: "TEST123"});
}
虽然正如我在该帖子中所述,但在这种情况下,使用.set()
设置默认值可能不起作用,您可能需要直接编辑编辑框中的文字:
editEvent.container
.find("[name=actionName]")
.val("TEST123")
.trigger("change");