0

我正在使用 jqgrid,并在其中添加了一个子网格,如下所示,

在此处输入图像描述

如您所见,
具有 11 和 13 列的行是主网格行

并且每一行都有感兴趣的子网格,添加记录元素显示为子网格添加弹出窗口

这是 subgrid 的代码,

subGridRowExpanded: function(subgrid_id, row_id) {
            var subgrid_table_id, pager_id;
            subgrid_table_id = subgrid_id+"_t";
            pager_id = "p_"+subgrid_table_id;
            $("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'></table><div id='"+pager_id+"' class='scroll'></div>");
            jQuery("#"+subgrid_table_id).jqGrid({
                url:"shops?q=2&ShopID="+row_id,
                datatype: "xml",
                colNames: ['Interest'],
                colModel: [
                    //{name:"Id",index:"ShopID",width:80,editable:false,editoptions:{readonly:false,size:40}}, //Shop ID not required
                    {name:"id",index:"id",editable:true,edittype:"select",editoptions:{dataUrl:'shops?q=3&ShopID='+row_id},editrules:{required:true}}
                ],
                rowNum:10,
                pager: pager_id,
                width: '100%',
                height: '100%',
                scrollOffset: 0,
                sortname: 'num',
                sortorder: "asc",
                height: '100%',
                editurl:'shops?q=5&ShopID='+row_id
            });
            jQuery("#"+subgrid_table_id).jqGrid('navGrid',"#"+pager_id,{edit:false,add:true,del:true})
        },
        subGridRowColapsed: function(subgrid_id, row_id) {
            // this function is called before removing the data
            //var subgrid_table_id;
            //subgrid_table_id = subgrid_id+"_t";
            //jQuery("#"+subgrid_table_id).remove();
        }

一旦我们从弹出窗口添加值,它就会转到主网格各行的兴趣选项卡,并且应该从弹出窗口中删除添加的值。

当前值已成功添加,但它仍停留在弹出窗口中,直到我们刷新主窗体。

提交后有没有办法重新加载添加弹出窗口?

感谢您的时间,谢谢

4

2 回答 2

1

如果您. "Cache-Control: private, max-age=0"_ _ _ 如果您使用 ASP.NET,我建议您阅读答案dataUrl

或者,您可以使用该选项

ajaxSelectOptions: { cache: false }

(见答案)。

如果以上所有方法都没有帮助,您可以使用ajaxSelectOptions.data as 函数来确保发送不同的ShopID参数值dataUrl。有关更多详细信息,请参阅答案

更新:我建议您另外使用recreateForm: true添加和编辑表单选项。请参阅此处的用法示例。

于 2012-10-11T15:02:15.490 回答
0

找到解决方案,

实际上我们可以使用 afterSubmit 事件,

可以在以下两个链接中找到解决方案

在 jqgrid 中提交后如何关闭表单并重新加载网格?

http://www.trirand.com/blog/?page_id=393/help/how-to-reload-edit-form-after-submit/

谢谢,如果有人需要更多解释,请发表评论

于 2012-10-11T15:03:07.030 回答