我希望每行都有一个按钮来删除相应的行。所以我使用了演示页面中的示例来尝试实现这一点。
它适用于编辑行,但我也想要一个删除按钮。
这是我的代码
jQuery("#detFlex1").jqGrid({
url: '<%= Html.Encode(ViewData["module"])%>/GetDetailList1',
datatype: "json",
altRows: true,
mtype: 'POST',
colNames: ['Inv No', 'Actions', '<%= RmdReqVendor.AccountName %>', '<%= RmdReqVendor.AccountNum %>'
, '<%= RmdReqVendor.Valuta %>'
, '<%= RmdReqVendor.Country %>'
, '<%= RmdReqVendor.Branch %>'
, '<%= RmdReqVendor.BankKey %>'
, '<%= RmdReqVendor.Priority %>'],
colModel: [
{ name: 'account_id', index: 'account_id', width: 55, hidden: true },
{ name: 'act', index: 'act', width: 55, sortable: false },
{ name: 'account_name', index: 'account_name', width: 150,editable:true,editoptions:{size:30,maxlength:30}, editrules:{required:true} },
{ name: 'account_num', index: 'account_num', width: 150,editable:true,editoptions:{size:18,maxlength:18}, editrules:{required:true, number:true} },
{ name: 'valuta', index: 'valuta', width: 90, editable: true,edittype:"select",editoptions:{value:"<%= JsHelper.CurrencyJsArray() %>"}, editrules:{required:true} },
{ name: 'country', index: 'country', width: 150, editable: true,edittype:"select",editoptions:{value:"<%= JsHelper.CountryJsArray() %>"}, editrules:{required:true} },
{ name: 'branch', index: 'branch', width: 150,editable:true,editoptions:{size:40,maxlength:40}, editrules:{required:true} },
{ name: 'bank_key', index: 'bank_key', width: 90,editable:true,editoptions:{size:15,maxlength:15}, editrules:{required:false} },
{ name: 'priority', index: 'priority', width: 90,editable:true,editoptions:{size:10,maxlength:10}, editrules:{required:true, number:true} }
],
rowNum: 10,
rowList: [10, 20, 30],
pager: '#pagerFlex1',
sortname: 'request_id',
viewrecords: true,
sortorder: "desc",
caption: '<%= RmdReqVendor.BankAccountTitle %>',
width: $('.body').width()-40,
height: 180,
shrinkToFit: false,
gridComplete: function(){
var ids = jQuery("#detFlex1").jqGrid('getDataIDs');
for(var i=0;i < ids.length;i++){
var cl = ids[i];
be = "<button style='height:22px;width:20px;' type='button' title='Edit' onclick="jQuery('#detFlex1').jqGrid('editGridRow','"+cl+"',{top:top,left:left,width:420,height:220,reloadAfterSubmit:false,addedrow:'last',bSubmit:'Add' });" >E</button>";
de = "<button style='height:22px;width:20px;' type='button' title='Delete' onclick="jQuery('#detFlex1').jqGrid('delGridRow','"+cl+"',{reloadAfterSubmit:false });" >D</button>";
jQuery("#detFlex1").jqGrid('setRowData',ids[i],{act:be+de});
}
},
editurl: "<%= Html.Encode(ViewData["module"])%>/SaveDetail1"
});
jQuery("#detFlex1").jqGrid('navGrid', '#pagerFlex1', { edit: false, add: false, del: false, search: false, refresh: false });
编辑按钮效果很好,但删除按钮不是。
单击时删除按钮,仅在整个页面上显示灰色遮罩,而不显示删除确认对话框
我在这里缺少什么?
答案 0 :(得分:0)
你不应该这样做吗?
be = "<button style='height:22px;width:20px;' type='button' title='Edit' onclick=\"jQuery('#detFlex1').jqGrid('editGridRow','"+cl+"',{top:top,left:left,width:420,height:220,reloadAfterSubmit:false,addedrow:'last',bSubmit:'Add' });\" >E</button>";
de = "<button style='height:22px;width:20px;' type='button' title='Delete' onclick=\"jQuery('#detFlex1').jqGrid('delGridRow','"+cl+"',{reloadAfterSubmit:false });\" >D</button>";
(在onclick事件之前和之后qoutes上的反斜杠。)
我在我的jqgrid中复制了你的方法(我不删除那个网格法线),如果我把反斜杠放了,它就有用了。我收到了删除确认对话框。
但奇怪的是编辑按钮没有那些反斜杠就能正常工作......