Jqgrid 发生删除行时触发哪个事件?
网格包含保存行后事件“JQGridInLineAfterAverow”,如果您编辑或添加行,该事件将起作用Jqgrid 发生删除行时触发哪个事件?,jqgrid,free-jqgrid,Jqgrid,Free Jqgrid,网格包含保存行后事件“JQGridInLineAfterAverow”,如果您编辑或添加行,该事件将起作用 //--Bind events... console.log('Bind events...'); $("#jqGrid").bind("jqGridInlineAfterSaveRow",function (e, rowid, jqXhrOrBool, postData, options) {
//--Bind events...
console.log('Bind events...');
$("#jqGrid").bind("jqGridInlineAfterSaveRow",function (e, rowid, jqXhrOrBool, postData, options) {
console.log('EVENT:jqGridInlineAfterSaveRow');
var item = $(this).jqGrid('getLocalRow', rowid);
console.log(item);
console.log('BEFORE:');
saveObject(item);
console.log('AFTER:');
});
删除行的事件名称是什么?我需要为删除行绑定JS函数
更新1
我现在正在尝试以下选项,但运气不好
}).jqGrid("navGrid", "#jqGridPager", {edit: false, add: false, del: false, refresh: false, view: false,search: false,
delfunc: function (rowids) {
console.log(rowids);
}
})
更新2
我认为问题在于行级别的删除按钮,而不是页脚
请参见屏幕截图[在此处输入图像描述][1]
data:rdata,
colModel: [
{
label: "",
name: "",
width: 70,
formatter: "actions",
formatoptions: {
keys: true,
editOptions: {},
addOptions: {},
delOptions: { delfunc : function (id){
console.log(">>>>>>>>>>>>>>>>1");
}}
}
},
更新3
根据Oleg的输入,我将代码更改如下:
$("#jqGrid").bind("jqGridAfterDelRow",function (e, rowid, jqXhrOrBool, postData, options) {
console.log('EVENT:jqGridAfterDelRow');
console.log(rowid);
var item = $(this).jqGrid('delRowData ', rowid);
console.log(item);
console.log('BEFORE:');
console.log('AFTER:');
});
但是现在,我没有得到删除的行对象???实际上,我需要从删除的行中获取一些字段,例如ID。上面的绑定函数将依次调用服务器端ajax函数
更新4
感谢Oleg对beyond的支持。。。这是我从他的一个答案中得到的代码
colModel: [
{
label: "",
name: "",
width: 70,
formatter: "actions",
formatoptions: {
keys: true,
editbutton : true,
delbutton : true,
editOptions: {},
addOptions: {},
delOptions: {
onclickSubmit: function(options, rowid) {
console.log("delOptions::onclickSubmit");
var grid_id = $.jgrid.jqID(grid[0].id);
var grid_p = grid[0].p;
var newPage = grid[0].p.page;
var rowdata = grid.getLocalRow(rowid);
// DELETE GRID LOCAL ROW
grid.delRowData(rowid);
$.jgrid.hideModal("#delmod"+grid_id,
{gb:"#gbox_"+grid_id,jqm:options.jqModal,onClose:options.onClose});
if (grid_p.lastpage > 1) {// on the multipage grid reload the grid
if (grid_p.reccount === 0 && newPage === grid_p.lastpage) {
// if after deliting there are no rows on the current page
// which is the last page of the grid
newPage--; // go to the previous page
}
// reload grid to make the row from the next page visable.
grid.trigger("reloadGrid", [{page:newPage}]);
}
return true;
},
processing:true
}
}
},
要删除行,请使用以下代码段:
$('#gridId').jqGrid('delRowData',rowid) 您可以使用event,它将在删除行后由
delGridRow
触发,或者您也可以使用event,因为delGridRow
在内部调用delRowData
,而jqGridAfterDelRow
将由delRowData
触发,我知道如何获取对象的id,我正在寻找删除行后触发的事件?可能您遇到了相同的问题:哇,那是2012年。。。仍然不支持在网格上触发“删除行”事件??:(谢谢!!维基上的文档不是最新的:(@dev.sforce:不客气!查看文件大小(超过2000行)。该文件是方法、选项和事件的简短声明。您应该想象一下编写所有选项、方法和事件的完整文档需要多少时间。别忘了您得到了产品“免费jqGrid”免费的,我在空闲时间开发它。哎呀!现在delRowData返回false而不是row对象?我认为对free-jqgrid.d.ts本身的引用对开发人员来说是非常有价值的。谢谢!@dev.sforce:我听不懂你的话。你当前的JavaScript代码是什么?navGrid
不要直接调用delRowData
。delRowData
从不返回对象。如果调用参数错误(错误的rowid
),则返回false
;如果删除成功,则返回true
。