$('#usersGrid').kendoGrid({
columns: [
{ field: "UserName", title: "Display name", width: "140px" },
{ field: "Unit", title: "Unit", width: "140px" },
{ field: "Email", title: "E-mail", width: "140px" },
{ field: "Indienst", title: "Indienst", width: "140px" },
{ field: "Uitdienst", title: "Uitdienst", width: "140px" },
{ field: "Roles", title: "Roles" },
{ command: { text: "edit", click: openEdit } }
],
editable: {
update: true,
create: true
},
dataSource: {
transport: {
read: function (options) {
$.ajax({
url: "/Administration/GetUserList",
dataType: "json",
data: {
indienst: function () {
return indienst;
}
},
success: function (data) {
$("#usersGrid").data('kendoGrid').dataSource.data(data);
}
});
},
update: function (options) {
alert('not firing');
}
}
},
schema: {
model: {
id: "UserId",
fields: {
UserId: { editable: false, type: "int" },
UserName: { type: "string" },
Unit: { editable: false, type: "string" },
Email: { type: "string" },
Indienst: { type: "string" },
Uitdienst: { type: "string" },
Roles: { editable: false, type: "string" }
}
}
}
});
这是我的剑道UI网格。它的读数很好,但问题是,当我更改网格单元格内联时,它不会触发datasource.transport.update调用。为什么不呢?
我已经确定我指定了一个id列,并且传输CRUD函数都是相同的类型(函数在这里,而不是url),但我也试图让它与url一起使用。只有transport.read会触发......
当我检查控制台日志时,没有给出错误。
所以我想内联编辑它。单击网格上的单元格,并在您离开我希望运行dataSource.transport.update()的单元格的焦点或任何函数时更改该值。
http://jsfiddle.net/8tzgc/135/
修改
在对我发现的有关change()事件的文档进行一些研究之后。通过检查它是什么类型的更改事件,我们可以确定它是否是更新事件并运行我们自己想要的功能。这是我更新的jsfiddle:
http://jsfiddle.net/8tzgc/140/
如果有人想出一种不需要自己调用更新功能的方法,那么我全都听见了。
答案 0 :(得分:2)
要编辑内联,您可以利用telerik demo site.
中的示例将命令列更改为:
{ command: ["edit", "destroy"], title: " ", width: "160px" }
并将您的editable
规范更改为"inline"
:
editable: "inline",
我已经用解决方案编辑了你的小提琴:http://jsfiddle.net/8tzgc/136/
为了完全充实这一点,您必须从命令中提供相关方法的实现,例如更新,创建等......您可以在telerik demo.
如果您想使用自定义编辑器(下拉菜单等)进行单元格点击编辑,请执行以下another telerik example.
答案 1 :(得分:0)
尝试改变
command: { text: "edit", click: openEdit }
到
command: ["edit"]
答案 2 :(得分:0)
如果您使用editable:popup
,请尝试以下操作:
command: [
{ name: "view", template: "<a class='k-button k-button-icontext selectDiscountPercentage' title='Discount Percentage' ><i class='k-icon k-i-view'></i></a>", text: "", },
{ name: "edit", text: "" },
{ name: "destroy", text: " "}
], title: " ", width: "160px"
这里的技巧是给命令数组中的" "
键提供空格(text
)