【发布时间】:2015-08-11 08:05:25
【问题描述】:
我有以下代码可以双击进入内联编辑:
ondblClickRow: function (row_id) {
if(row_id != null) {
$('#Products').jqGrid('restoreRow',last_selected_row);
$('#Products').jqGrid('saveRow',row_id);
$("#Products").jqGrid('editRow',row_id, true, null,
function(){ $("#Products").trigger("reloadGrid", [{current: true}]); },
'xtras/Products.php',
null,{},
{},{}
);
$("#Products_ilsave").removeClass('ui-state-disabled');
$("#Products_ilcancel").removeClass('ui-state-disabled');
$("#Products_ilcancel").removeClass('ui-state-disabled');
$("#Products_ilcopy").addClass('ui-state-disabled');
$("#Products_iladd").addClass('ui-state-disabled');
}
}
和导航定义:
$("#Products").jqGrid("navGrid", "#Products_pager",
{search: true, add: false, edit: false, del: true, refreshstate: "current"},
{},
{},
{},
{},
{sopt:['eq','ne','cn','bw','bn','ge','le','lt','gt'], multipleSearch:true, showQuery: false}
)
.jqGrid("inlineNav", "#Products_pager",
{add: true, edit: true},
)
.navButtonAdd('#Products_pager',{
caption:"",
title:"Copy selected row",
id:"Products_ilcopy",
buttonicon:"ui-icon-copy",
onClickButton: function(){
var srcrowid = $grid.jqGrid('getGridParam', 'selrow');
if (srcrowid > 0) {
$('#Products_iladd').click();
var rowData = $('#Products').jqGrid('getRowData', srcrowid);
rowData.ID = '';
rowData.Catalogue = '';
rowData.UPCEAN = '';
rowData.copyID = srcrowid;
$grid.jqGrid('setRowData', 'new_row', rowData);
var ondblClickRowHandler = $('#Products').jqGrid("getGridParam", "ondblClickRow");
ondblClickRowHandler.call($("#Products")[0], 'new_row');
} else {
alert('Please select a row to copy');
return false;
}
},
position:"last"
});
正如您所见,当我单击 COPY 按钮时,会创建一个新行并调用 ondblClickRow 以进入内联编辑。如果我单击navGrid 中的“保存”按钮 - 它会保存但不会重新加载。如果我按 Enter 键 - 它会重新加载,但不会保存任何内容。
请问如何保存并重新加载网格?
-------------更新---------
添加、编辑、删除、复制 - 所有相同的 URL - 'xtras/Products.php'
url:'xtras/Products.php',
editurl:'xtras/Products.php',
datatype: "json",
mtype:'GET',
$('#Products') - 是页面上唯一的网格
使用 - jqGrid 4.4.2
【问题讨论】:
-
在所有 jqGrid 问题中了解以下内容很重要:您使用哪个
datatype?您是否需要从服务器本地重新加载数据?你用的是哪个editurl?您是在本地还是在服务器上编辑和保存数据? Ir$('#Products')同一个网格还是另一个网格?您使用哪个版本的 jqGrid 和哪个分支的 jqGrid(旧的 jqGrid、免费的 jqGrid、Guriddo jqGrid JS)? -
@Oleg 嗨,当然抱歉……我已经更新了帖子……