jqGrid - 刷新网格问题

时间:2014-12-02 16:26:24

标签: javascript jquery 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...
});

问题是:

如果我删除该行:$("#grid").jqGrid('GridUnload')

网格无法正确刷新(不会在UI上添加新行)但是,它会将其添加到服务器端的数据库中,并且我可以继续将新行成功添加到数据库但不进行刷新。

当我说,"它会将它添加到数据库"我的意思是如果我重新加载整个页面,项目将显示

如果我保留该行:$("#grid").jqGrid('GridUnload')

网格将在第一次时正确刷新,并将该行添加到数据库中。之后我可以继续添加,但提交窗口不会关闭也不会刷新网格。

我尝试过使用

$("#grid").trigger('gridReload') - 但没有任何成功(也许我用错了)

由于

1 个答案:

答案 0 :(得分:0)

我认为你的错误在这里:

  

我尝试过使用

     

$(" #grid")。触发器(' gridReload') - 但没有任何成功(也许我是   使用它错了)

方法是" reloadGrid",所以使用

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

应该没问题,只需要刷新网格数据。