asp.net-mvc - 如何在 ondblClickRow 事件中触发 beforeSubmitCell 事件
问题描述
我有一个与 jqgrid v4.15.4 相关的问题。我使用beforeSubmitCell事件返回将发布到服务器的新数组。我也保留了选项cellEdit: true , cellssubmit: 'remote'。默认情况下,如果 jqGrid 单元格是可编辑的,单击该单元格会将其更改为编辑模式。我知道这可以通过ondblClickRow完成。但是如何在 ondblClickRow事件函数中调用beforeSubmitCell事件。
作为参考,我读过:jQGrid Cell Editing on double click of row
让我知道是否需要更多信息?
解决方案
如果我正确理解您的问题,您不应该使用该选项cellEdit: true
(但仍然使用cellsubmit: 'remote'
)并在调用单元格编辑方法(、 、 或)之前动态cellEdit: true
设置。此外,您将不得不复制键盘操作(请参阅免费 jqGrid 代码行)。生成的代码可能类似于以下代码:editCell
restoreCell
saveCell
prevCell
nextCell
ondblClickRow: function (rowid, iRow, iCol, e) {
var $self = $(this), p = $self.jqGrid("getGridParam");
p.cellEdit = true;
$self.jqGrid("editCell", iRow, iCol, true);
p.cellEdit = false;
},
afterEditCell: function (rowid, cmName, cellValue, iRow, iCol) {
var getTdByColumnIndex = function (tr, iCol) {
var $t = this, frozenRows = $t.grid.fbRows;
tr = frozenRows != null && frozenRows[0].cells.length > iCol ?
frozenRows[tr.rowIndex] : tr;
return tr != null && tr.cells != null ? $(tr.cells[iCol]) : $();
},
$td = getTdByColumnIndex.call(this, this.rows[iRow], iCol),
$self = $(this),
$t = this,
p = $self.jqGrid("getGridParam");
$("input, select, textarea", $td).on("keydown", function (e) {
if (e.keyCode === 27) { //ESC
p.cellEdit = true;
$self.jqGrid("restoreCell", iRow, iCol);
p.cellEdit = false;
} else if (e.keyCode === 13 && !e.shiftKey) { //Enter
p.cellEdit = true;
$self.jqGrid("saveCell", iRow, iCol);
p.cellEdit = false;
return false;
} else if (e.keyCode === 9) {
if (!$t.grid.hDiv.loading) {
p.cellEdit = true;
if (e.shiftKey) {
$self.jqGrid("prevCell", iRow, iCol); //Shift TAb
} else {
$self.jqGrid("nextCell", iRow, iCol); //Tab
}
p.cellEdit = false;
} else {
return false;
}
}
e.stopPropagation();
});
}
推荐阅读
- android - 应用分发因上传 APK 时出现问题而停止:[403] 调用者没有权限
- spring - Spring WebFlux - 将文件上传到从不同 URI 下载的 URI
- linux - 父进程已经死亡的进程是否正常继续执行?
- android - 如何在 Android 12 上更改通知的背景颜色
- pyspark - 使用时间戳 pyspark 更新 json 列
- scala - 如何返回成功解析并转换为我的案例类的行
- html - VBA Selenium - 从 aria-label 中提取信息
- php - Μysql - 在 php 中获取后如何从数组中获取第一个值
- postgresql - 如何从 PostgreSQL 查询正确构建 KnexJS 查询
- sql - 如果在 SQlite 中删除触发器后结果为空,如何将值更新为 0?