change: function (e) {
selected = (this.select().length > 1) ? this.select() : null;
if (selected) {
this.editCell($(selected[selected.length-1]));
}
},
save: function (e) {
if (e.values) {
for (var field in e.values) {
// propogate edited field value to each selected
for (var i=0; i<selected.length; i++) {
var uid = $(selected[i]).closest("tr").data("uid");
var model = this.dataSource.getByUid(uid);
model.set(field,e.values[field]);
}
// should be only one field
break;
}
}
},
并输入密钥检测
$("#grid tbody").on("keydown", "tr", function (e) {
var grid = $("#grid").data("kendoGrid");
//get the pressed key code
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13) { //Enter keycode
$(e.srcElement).closest("tbody").focus();
setTimeout(function () {
grid.saveRow();
})
}
});
1 回答
你需要一些东西来完成这项工作
网格
可选:'multiple, cell'
可编辑:true
toolbar:["create","save","cancel"](如果是远程数据)
更改事件处理程序以存储选定的单元格并将其中一个置于编辑模式
保存事件处理程序以将已编辑的值传播到选定的单元格
keydown事件处理程序,用于检测输入密钥作为编辑保存操作
dataSource
批处理模式(如果是远程数据)
对于过度活跃的手指可能存在一些奇怪的边缘情况 .
看看这个dojo,它有这样的编码:
具有在配置选项中内联编码的事件处理程序的网格
并输入密钥检测