2014-12-02 76 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