1
我的頁面上有一個jqGrid,它使用json發佈到服務器的方式接收它的記錄。在同一頁面上,我也有一個刪除按鈕。點擊刪除按鈕使用ajax post到服務器刪除所選記錄。刪除記錄後,如果服務器返回成功代碼,我需要網格刷新。當最後一條記錄被刪除時,jqGrid reloadGrid不工作
它似乎工作正常,除非網格中只有一條記錄。我刪除的最後一條記錄不會從網格中刪除。即使我按下頁腳上的刷新按鈕,它仍然不會消失。當有多個記錄時,它會刷新,正如我所預期的那樣。
我是jqGrid的新手,所以我確信我做錯了什麼。任何幫助,將不勝感激。
的jqGrid定義
$('#gridOrgs').jqGrid({
url: 'some url goes here',
datatype: 'json',
mtype: 'POST',
loadonce:false,
colNames: ['ID', 'Name', 'City', 'Province', 'Admin'],
colModel: [
{ name: 'Id', index: 'Id', hidedlg: true, hidden: true, sortable: false },
{ name: 'CompanyName', index: 'CompanyName', width: 200, sorttype: 'text' },
{ name: 'City', index: 'City', width: 150, sorttype: 'text' },
{ name: 'Province', index: 'Province', width: 150, sorttype: 'text' },
{ name: 'IsAdmin', index: 'IsAdmin', width: 50, sorttype: 'text', formatter: 'checkbox', align: 'center'},
],
pager: '#pagerOrgs',
jsonReader: {
repeatitems: false,
id: 'Id' },
rowNum: 10,
rowList: [10, 25, 50, 75, 100],
sortname: 'CompanyName',
sortorder: 'desc',
viewrecords: true,
caption: 'Companies',
hidegrid: false,
width: 650,
height: 400,
onSelectRow: function (id) {
if (id)
RowSelected(id, $('#gridOrgs').getCell(id,'IsAdmin'));
else
NoRowSelected();
}
});
jQuery("#gridOrgs").jqGrid('navGrid','#pagerOrgs',{edit:false,add:false,del:false});
Delete按鈕點擊事件:
$('#btnDelete').click(function() {
var id = jQuery("#gridOrgs").jqGrid('getGridParam','selrow');
if (id)
$.post('@Url.Action("Json_Delete", "Organization")', {'id': id}, function(data){ProcessDeleteResponse(data.result);}, 'json');
else
$('#dialogNothingSelected').dialog('open');
});
function ProcessDeleteResponse(resultCode) {
if (resultCode == 'success')
$('#gridOrgs').trigger('reloadGrid');
}
我還試圖
.trigger( 'reloadGrid',[{頁面:1}]);
.trigger('reloadGrid',[{current:true}]);
無論我做什麼,最後一個記錄都停留在網格中。
最後一件事:當我觸發reloadGrid時,網格會調用服務器並接收更新的信息。更新的信息包含0個記錄總數。
再次感謝。