我有一个网格,我在navgrid中放置一个自定义按钮,用于在另一个表中插入完全不同的数据,所以我使用了editGridRow(“new”,...),在php url中我只是将数据发布到另一个表中。实际上,如果我提交表单,我就会遇到问题,即使我确定了reloadAfterSubmit:false,它会在网格中添加一个新的空行......
你可以在这里看到这段代码:
jQuery("#"+child_table_id).navButtonAdd("#"+pager_id,
{
caption:"Insert",buttonicon:"ui-icon-arrow-1-se",
onClickButton:function(){
var rows = jQuery("#"+child_table_id).getRowData();
if ( rows.length != 0 ) {
jQuery("#"+child_table_id).editGridRow("new",{height:140,width:420,url:"http://.../edit_datatable.php?table_name=mytable&fact=insert&q=1&flag=yes&ref_id="+id_row,
reloadAfterSubmit:false,
recreateForm:true,
closeOnEscape:true,
closeAfterAdd:true,
addCaption:'Insert',
savekey: [true,13],
bSubmit:'Save',
afterSubmit:function(response, postdata){ alert('inserting to a total different table...'); return {0:true} }
});
}
},
position:"last",
title:"Insert new step...",
cursor:"pointer"
});
我甚至尝试添加:
onClickButton:function(){ $("#"+child_table_id).setGridParam({ datatype: 'local' }); }
afterSubmit:function(response, postdata){ return {0:true} },
onclickSubmit : function(params, posdata) {return {0:true} },
afterComplete:function(response, postdata, formid) { $("#"+child_table_id).setGridParam({ datatype: 'json' }); }
但它在网格中添加了一行......
那我怎么能阻止jqGrid添加一个新的空网格并刷新网格呢?...
答案 0 :(得分:1)
您写过“在另一个表中插入完全不同的数据”,但是您向网格"#"+child_table_id
的导航栏添加了按钮,而onClickButton
回调中的代码会向添加新行相同的网格:
jQuery("#"+child_table_id).navButtonAdd("#"+pager_id, { ...
onClickButton:function(){
...
jQuery("#"+child_table_id).editGridRow("new", ...
}
});
如果您确实要将新行添加到另一个网格,则应使用editGridRow
中的另一个ID(例如jQuery("#"+another_table_id).editGridRow("new",...
)。