2009-08-18 64 views
14

我有一個頁面顯示兩種不同模式的表格。在每種模式下,我有一組不同的列。我正在使用jqGrid來顯示錶格。當我第二次嘗試加載表格時(對於這個問題有相同或不同的列),表格不會刷新數據。用不同的表格數據重新加載一個加載的jqGrid

是否有不同的API來重新加載數據?或者我應該使用某種方法先清理表格?

回答

15

使用方法「GridUnload」將卸載網格並保留原始HTML表格。下一次調用創建網格將從頭開始與任何給定的架構

26

今天我遇到了同樣的問題。我使用jqGrid來顯示來自一個或多個表單域中指定參數的搜索結果。我在搜索按鈕上有一個點擊事件,在這些字段上有一個keydown事件來捕獲返回鍵。這兩個事件都會調用一個函數來序列化表單並創建初始jqGrid。

在初始網格我必須調用函數reloadEvents選項的時候gridCompletes:

gridComplete: reloadEvents 

在reloadEvents功能我:

$("#frmSearch").bind("keydown", function(e) { 
    if (e.keyCode == 13) { 
     $('#searchList').setGridParam({url:'/model/actSearch.cfm?'+$('#frmSearch').serialize()}); 
     $('#searchList').trigger("reloadGrid"); 
    } 
}); 

$('#btnSearch').click(function(){ 
    $('#searchList').setGridParam({url:'/model/actSearch.cfm?'+$('#frmSearch').serialize()}); 
    $('#searchList').trigger("reloadGrid"); 
}); 

如果您加載數據你的網格有不同的方式,你可以使用setGridParam來改變你需要的任何東西。 reloadGrid方法是基於您更改的參數刷新數據的方法。

+0

URL應該包含什麼內容?文檔非常含糊,他們只是說:'持有請求的文件的URL'我不知道這意味着什麼。 – 2010-08-06 16:21:56