2014-12-02 72 views
0

我無法刷新提交上的網格以允許顯示新數據,然後再次添加新項目。jqGrid - 刷新網格問題

的代碼解釋

的jqGrid本身

$("#grid").jqGrid({ 
     datatype: "local", 
     data: List, 
     width: 1405, 
     shrinkToFit: 1105, 
     rowNum: List.length, 
     colNames: ['id', 'Delete'], 
     colModel: [ 
      { name: 'id', index: 'id', editable: false, hidden: false, hidedlg: true }, 
      { 
       name: 'actions', index: 'actions', width: 100, sortable: false, editable: false, formatter: imageFormat, 
       formatoptions: { 
        keys: true, 
        editbutton: false, 
        delOptions: { url: getURL('controller') + 'actionmethod?id=' + $('#id').val() } 
       } 

      } 
     ], 

外部按鈕來添加行

$("#Add").click(function() { 

    $("#grid").jqGrid('editGridRow', "new", { height: 480, width: 400, reloadAfterSubmit: true, recreateForm: true }); 

}); 

而且基本afterSubmit事件......

$("#grid").bind("AfterSubmit", function (event, status, postData) { 

    $("#grid").jqGrid('GridUnload'); 

    // This basically calls the code on the top  
    loadGrid(); 

    // close the add item dialog... 
}); 

親blem是:然而$("#grid").jqGrid('GridUnload')

電網將無法正常刷新(犯規添加UI上的新行),將其添加到數據庫在服務器端,我可以:

如果我刪除行繼續向數據庫成功添加新行,但不刷新。

當我說,「這將它添加到數據庫中」我的意思是,如果我重新加載整個頁面,該項目將顯示

如果我把線:$("#grid").jqGrid('GridUnload')

該網格將第一次只刷新並將該行添加到數據庫中。之後我可以繼續添加,但提交窗口不關閉,也不進行網格刷新。

我一直在使用

$("#grid").trigger('gridReload')嘗試 - 但沒有任何成功(也許我一個使用它錯了)

感謝

+0

@oleg - 顯然你的男人打電話與這些jqGrid問題。如果我做錯了(在問題中評論你的名字),我很抱歉 – user3428422 2014-12-02 16:31:49

+0

你可以發佈jsfiddle嗎? – 2014-12-03 10:03:26

+0

也許不是我所有的代碼。 – user3428422 2014-12-03 10:04:00

回答

0

,我認爲你的錯誤在這裏:

我有嘗試使用

$(「#grid」)。trigger('gridReload') - 但沒有任何succ ESS(也許我一個 使用它錯了)

的方法是「reloadGrid」,因此使用

$("#grid").trigger('reloadGrid') 

應罰款爲您僅需要刷新網格數據。

+0

感謝您的光臨,但它實際上並沒有做任何事情(但它應該..)我需要在什麼後? – user3428422 2014-12-03 14:10:22

+0

對不起,複製粘貼錯誤,糾正它。 如果這不會觸發數據重新加載,請檢查js控制檯是否有錯誤,或者檢查URL監視器的URL是否正確,或者服務器是否返回了正確的響應代碼(200或類似)。 – 2014-12-03 15:57:27