JqGrid:如何在afterSubmit中刷新网格?

JqGrid:如何在afterSubmit中刷新网格?,jqgrid,Jqgrid,我在寻呼机上有两个按钮,一个用于添加新记录。请参阅下面的代码: $(grid_selector).jqGrid('navGrid', pager_selector, { edit: false, add: true, addicon : 'icon-plus-sign purple', del: true, delicon : 'icon-trash red', search: fal

我在寻呼机上有两个按钮,一个用于添加新记录。请参阅下面的代码:

$(grid_selector).jqGrid('navGrid', pager_selector, 
    {   
        edit: false,
        add: true,
        addicon : 'icon-plus-sign purple',
        del: true,
        delicon : 'icon-trash red',
        search: false,
        refresh: false,
        view: false,
    },
    null, //no need for edit
    {
        //new record form
        url: "/add",  
        ...
        afterSubmit : function(response, postdata)  {

            // ??? how to refresh the grid

        }
    },
    ...

}
添加记录后,我希望刷新网格。有人能告诉我怎么做吗

我使用本地数据进行测试


注意。

确保在应用程序中使用的是jqGrid的更新版本 如果所有其他参数都正确(refresh:true等),则可以使用此参数重新加载网格

$(grid_selector).trigger("reloadGrid");
也请注意这个条件

由于数据类型已更改为本地(loadonce为true),因此未执行重新加载。您需要在afterSubmit函数中手动重新加载网格以进行表单编辑。在触发重载事件之前,需要将数据类型设置为json

$(grid_selector).jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');

确保在应用程序中使用的是jqGrid的更新版本 如果所有其他参数都正确(refresh:true等),则可以使用此参数重新加载网格

$(grid_selector).trigger("reloadGrid");
也请注意这个条件

由于数据类型已更改为本地(loadonce为true),因此未执行重新加载。您需要在afterSubmit函数中手动重新加载网格以进行表单编辑。在触发重载事件之前,需要将数据类型设置为json

$(grid_selector).jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');

确保在应用程序中使用的是jqGrid的更新版本 如果所有其他参数都正确(refresh:true等),则可以使用此参数重新加载网格

$(grid_selector).trigger("reloadGrid");
也请注意这个条件

由于数据类型已更改为本地(loadonce为true),因此未执行重新加载。您需要在afterSubmit函数中手动重新加载网格以进行表单编辑。在触发重载事件之前,需要将数据类型设置为json

$(grid_selector).jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');

确保在应用程序中使用的是jqGrid的更新版本 如果所有其他参数都正确(refresh:true等),则可以使用此参数重新加载网格

$(grid_selector).trigger("reloadGrid");
也请注意这个条件

由于数据类型已更改为本地(loadonce为true),因此未执行重新加载。您需要在afterSubmit函数中手动重新加载网格以进行表单编辑。在触发重载事件之前,需要将数据类型设置为json

$(grid_selector).jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');

表单编辑中使用的默认属性是
reloadeaftersubmit:true
。这意味着jqGrid触发
reloadGrid
处理
afterSubmit

你写了“我正在使用本地数据”。很难回答您的问题,因为您没有发布更多您使用的完整代码。我试着猜你在做什么。因为jqGrid到目前为止不支持本地编辑,所以我假设您的问题存在,因为您使用了
loadonce:true
选项。如果使用该选项,则jqGrid会在首次加载数据后将原始的
数据类型更改为
“本地”
。换句话说,jqGrid在第一次加载数据后“中断”与服务器的连接(到
url

因此,在jqGrid触发之前,只需重置原始的
数据类型
“json”
“xml”
)。相应的代码将涉及以下内容:

$(网格选择器).jqGrid(“导航网格”,寻呼机选择器,
{   
编辑:false,
addicon:“图标加上紫色符号”,
delicon:“图标垃圾红色”,
搜索:假,
beforeRefresh:函数(){
$(this.jqGrid(“setGridParam”,{datatype:“json”});
}
},
{},//不需要编辑
{
//新纪录表格
url:“/添加”,
...
后提交:函数(){
$(this.jqGrid(“setGridParam”,{datatype:“json”});
}
},
...
}

上面的代码添加了“刷新”按钮,并在“刷新”方式中使用相同的
刷新前
提交后
按钮从服务器重新加载数据。我个人发现,在
loadonce:true
场景中,此类按钮的存在是切实可行的。

表单编辑中使用的默认属性是
reloadAfterSubmit:true
。这意味着jqGrid触发
reloadGrid
处理
afterSubmit

你写了“我正在使用本地数据”。很难回答您的问题,因为您没有发布更多使用的完整代码。我尝试猜测您会做什么。因为jqGrid目前不支持本地编辑,所以我假设您的问题存在,因为您使用了
loadonce:true
选项。如果使用了该选项,jqGrid将更改原始的
数据类型e> 在第一次加载数据后连接到
“local”
。换句话说,jqGrid在第一次加载数据后“断开”与服务器的连接(连接到
url

因此,您只需在jqGrid触发器
重新加载Grid
之前重置原始
数据类型(
“json”
“xml”

$(网格选择器).jqGrid(“导航网格”,寻呼机选择器,
{   
编辑:false,
addicon:“图标加上紫色符号”,
delicon:“图标垃圾红色”,
搜索:假,
beforeRefresh:函数(){
$(this.jqGrid(“setGridParam”,{datatype:“json”});
}
},
{},//不需要编辑
{
//新纪录表格
url:“/添加”,
...
后提交:函数(){
$(this.jqGrid(“setGridParam”,{datatype:“json”});
}
},
...
}

上面的代码添加了“刷新”按钮,并在“刷新”方式中使用相同的
刷新前
提交后
按钮从服务器重新加载数据。我个人发现,在
loadonce:true
场景中,此类按钮的存在是切实可行的。

表单编辑中使用的默认属性是
reloadAfterSubmit:true
。这意味着jqGrid触发
reloadGrid
处理
afterSubmit

你写了“我正在使用本地数据”。很难回答你的问题,因为你没有发布更多你使用的完整代码。我尝试