2
我在應用程序中使用Kendo Grid。要求是雙擊可編輯網格。我正在處理.dblclick
事件,並使用.editCell(cell)
以編程方式編輯單元格。問題是我需要保存更改,當有人在單元格外單擊或按下「輸入」或「返回」按鈕並在有人單擊ESC時撤銷。而且,如果日期無效,我不應該保存它。雙擊編輯Kendo Grid incell或內聯編輯
我嘗試過專注,模糊,點擊事件,但有些工作,有些沒有,有些重疊,並沒有讓單元打開。
這是我的代碼。
//code for double click;
$('#grid').delegate('tbody>tr>td','dblclick', function (e) {
console.log("double clicked");
if($(".k-grid-edit-row").length <= 0) {
$("#grid").data("kendoGrid").editCell($(this));
}
});
$('#grid tbody').on('blur','input,select,textarea',saveGrid);
$('#grid').delegate('tbody>tr>td','focusout',function() {
console.log("inside focusout");
if($(this).hasClass("k-edit-cell"))
return;
saveGrid();
});
$('#grid').delegate('tbody>tr>td','click', function(e){
console.log("singleClick called");
if($(this).hasClass("k-edit-cell"))
return;
saveGrid();
});
function saveGrid() {
console.log("save grid called");
var grid = $("#grid").data("kendoGrid");
var editedCellIndex =grid.cellIndex(grid.tbody.find(">tr td.k-edit-cell"));
console.log("this cell index:"+grid.cellIndex($(this)));
console.log(" Edited cell index :"+editedCellIndex);
if(editedCellIndex<0) {
return false;
}
if($(".k-grid-edit-row").hasClass("k-invalid")) {
return false;
}
grid.closeCell();
console.log("saving changes");
grid.saveChanges();
}
讓我知道你是否需要任何更多的信息。
可能有人請幫助我。 – naquiuddin
你可以把它放在一個jsfiddle或jsbin中,並將它實現到最好的能力?這樣我們可以進來看看我們是否可以幫助實施其他不工作的部分。 –