1
我想測試添加一個新行並刪除jqGrid中的行,我發現網格不刷新顯示新行或刪除添加/刪除行後刪除行。服務器端部分還沒有添加/刪除,所以我只是給editurl提供了我用來將數據加載到網格中的相同url。jqGrid:navGrid reloadAfterSubmit沒有添加新行,當editurl無效
.navGrid('#' + id + '-pager',
{addtext: 'Add Code Value', deltext: 'Delete Code Value', edit:false,add:true,del:true,search:false, refresh:false},
{closeAfterAdd: true, reloadAfterSubmit: true} /* Edit options */,
{closeAfterAdd: true, reloadAfterSubmit: true} /* Add options */,
{reloadAfterSubmit: true} /* Delete options */);
我在這裏錯過了什麼嗎?我認爲reloadAfterSubmit應該更新與添加/刪除行的網格?
謝謝。
編輯:我添加自定義功能,這是不必要的複雜的(注:這應該是一個客戶端只添加)
addfunc = function() {
//Find dirty unsaved row if any and add to the grid before adding empty row
var dirtyRow = jQuery('#' + id).find('tr[editable]');
var dirtyRowId = dirtyRow.attr('id');
if (dirtyRow.length > 0) {
dirtyRow.addClass('data-isDirty', true);
var rowData = jQuery('#' + id).jqGrid('getRowData', dirtyRowId);
jQuery('#' + id).jqGrid('addRowData', rowId, dirtyRowId);
//The row when added to the grid should not be editable but a normal row
dirtyRow.find('input').each(function() {
var text = jQuery(this).attr('value');
jQuery(this).replaceWith(text);
});
}
var rowId = Math.floor(Math.random()*1000) + 'add_new';
jQuery('#' + id).jqGrid('addRowData', rowId, that.getEmptyRow(colModel), 'first');
var firstRowId = jQuery('#' + id).jqGrid('getDataIDs')[0];
//Add an empty editable row at the top
jQuery('#' + id).jqGrid('editRow', firstRowId);
}
嗯......還是沒有看到新行被添加。如果我想要將新行添加到客戶端而不更改被髮送到服務器,我需要做什麼? – Ramya
此網址似乎演示瞭如何在本地添加行而不發佈到服務器,但我無法弄清楚必須設置什麼參數才能啓用此功能:http://www.trirand.com/blog/jqgrid/jqgrid.html – Ramya
@Ramya:在本地添加新行非常簡單:您可以使用'addRowData'。看起來我不是你在你的問題中提出的問題。 – Oleg