jqGrid按错误值编辑表单前缀。(第二次单击时)

jqGrid按错误值编辑表单前缀。(第二次单击时),jqgrid,edit,subgrid,Jqgrid,Edit,Subgrid,我使用jqGrid插件。打开了栅格和子栅格。当我第二次单击以编辑主网格中的行时,字段会按错误的值填充。 复制的详细步骤: 单击“编辑行”(主栅格行) 编辑正确填充的表单,确定(参见第一个屏幕) 单击“取消”按钮 再次单击“编辑行” 编辑表格填充错误(参见第二个屏幕) 这是我的密码: $(function () { $("#list").jqGrid({ url: 'Country/CountryListPaged', editurl

我使用jqGrid插件。打开了栅格和子栅格。当我第二次单击以编辑主网格中的行时,字段会按错误的值填充。 复制的详细步骤:

  • 单击“编辑行”(主栅格行)
  • 编辑正确填充的表单,确定(参见第一个屏幕)
  • 单击“取消”按钮
  • 再次单击“编辑行”
  • 编辑表格填充错误(参见第二个屏幕)
  • 这是我的密码:

    $(function () {
            $("#list").jqGrid({
                url: 'Country/CountryListPaged',
                editurl: "Country/AddEditDeleteCountry",
                datatype: "json",
                mtype: 'POST',
                colModel: [
                              { name: 'idCountry', index: 'idCountry', label: 'Id', width: 100, editable:true, hidden:true },
                              { name: 'code', index: 'code', label: 'Код', width: 200, align:'center', editable: true, edittype:'text', editrules:{ required:true} },
                              { name: 'title', index: 'title', label: 'Название', width: 300, align: 'center', editable: true, edittype: 'text', editrules: { required: true} }
                          ],
                pager: '#pager',
                rowNum: 10,
                rowList: [10, 20],
                sortname: 'Title',
                sortorder: 'desc',
                viewrecords: true,
                gridview: true,
                caption: 'Список стран',
                height: 'auto',
                autowidth: true,
                scrollOffset: 0,
                hidegrid: false,
                subGrid: true,
                subGridRowExpanded: function (subgridId, rowId) {
                    var subgridTableId, pagerId;
                    subgridTableId = subgridId + "_t";
                    pagerId = "p_" + subgridTableId;
                    var tmp = $("#list").getRowData(rowId);
                    var idCountry = tmp.idCountry;
                    var countryCode = tmp.code;
    
                    $("#" + subgridId).html("<table id='" + subgridTableId + "' class='scroll'></table><div id='" + pagerId + "' class='scroll'></div>");
                    jQuery("#" + subgridTableId).jqGrid({
                        url: "Country/CountryTranslateVariantsList?idCountry=" + idCountry + "&countryCode=" + countryCode,
                        editurl: "Country/AddEditDeleteCountryTranslateVariant",
                        mtype: "POST",
                        datatype: "json",
                        colModel: [{ name: "idCountryTranslate", index: "IdCountryTranslate", editable: true, hidden: true },
                                   { name: "countryTranslateCode", index: "countryTranslateCode", editable: true, hidden: true, edittype: "text", editoptions: { defaultValue: countryCode} },
                                   { name: "language", index: "Language", label: "Язык", width: 100, editable: true, edittype: "select", editoptions: { value: "en:en;ru:ru;fr:fr;de:de" }, editrules: { required: true} },
                                   { name: "countryTranslateTitle", index: "countryTranslateTitle", label: "Название", width: 180, editable: true, editrules: { required: true}}],
                        rowNum: 5,
                        pager: pagerId,
                        sortname: 'language',
                        sortorder: "asc",
                        viewrecords: true,
                        gridview: true,
                        height: '100%'
                    });
                    //SUB GRID NAVIGATION PANEL
                    jQuery("#" + subgridTableId).jqGrid('navGrid', "#" + pagerId,
                                                            { edit: true, add: true, del: true, search: false, refresh: false },
                                                            {mtype: "POST", closeAfterEdit: true, reloadAfterSubmit: true }, //edit parameters
                                                            {mtype: "POST", closeAfterAdd: true, reloadAfterSubmit: true }, //add parameters
                                                            {mtype: "POST", reloadAfterSubmit: true, serializeDelData: function (postdata) {
                                                                var rowdata = $("#" + subgridTableId).getRowData(postdata.id);
                                                                return { oper: postdata.oper, idCountryTranslate: rowdata.idCountryTranslate };
                                                            }
                                                        }, //delete parameters
                                                            {}//search parameteres
                                                            );
                }
            });
            //MAIN GRID NAVIGATION PANEL
            jQuery("#list").jqGrid('navGrid', "#pager",
                        { edit: true, add: true, del: true, search: false, refresh: true },
                        { mtype: "POST", closeAfterEdit: true, reloadAfterSubmit: true }, //edit parameters
                        {mtype: "POST", closeAfterAdd: true, reloadAfterSubmit: true }, //add parameters
                        {mtype: "POST", reloadAfterSubmit: true, serializeDelData: function (postdata) {
                            var rowdata = $("#list").getRowData(postdata.id);
                            return { oper: postdata.oper, idCountry: rowdata.idCountry };
                        }
                    }, //delete parameters
                        {}//search parameteres
                        );
        }); 
    </script>
    <div style="margin:10px auto auto auto;width:100%;height:100%;">
        <table id="list">
            <tr>
                <td/>
            </tr>
        </table>
        <div id="pager"></div>
    
    $(函数(){
    $(“#列表”).jqGrid({
    url:“Country/CountryListPaged”,
    editurl:“国家/添加的删除国家”,
    数据类型:“json”,
    mtype:“POST”,
    colModel:[
    {name:'idCountry',index:'idCountry',label:'Id',宽度:100,可编辑:true,隐藏:true},
    {name:'code',index:'code',label:'kerköС',width:200,align:'center',edit:true,edittype:'text',editrules:{required:true},
    {名称:“标题”,索引:“标题”,标签:“标题”,宽度:300,对齐:“中心”,可编辑:true,编辑类型:“文本”,编辑规则:{required:true}
    ],
    寻呼机:“#寻呼机”,
    rowNum:10,
    行列表:[10,20],
    sortname:“标题”,
    排序器:“desc”,
    viewrecords:是的,
    gridview:没错,
    描述:“СПаааа”,
    高度:“自动”,
    自动宽度:正确,
    滚动偏移量:0,
    希德格里德:错,
    子网格:对,
    subGridRowExpanded:函数(subgridId,rowId){
    var subgridTableId,pagerId;
    subgridTableId=subgridId+“\t”;
    pagerId=“p_”+子网格表ID;
    var tmp=$(“#列表”).getRowData(rowId);
    var idCountry=tmp.idCountry;
    var countryCode=tmp.code;
    $(“#”+subgridId).html(“”);
    jQuery(“#”+subgridTableId).jqGrid({
    url:“Country/CountryTranslateVariantsList?idCountry=“+idCountry+”&countryCode=“+countryCode,
    editurl:“国家/增补删除国家/翻译变量”,
    mtype:“POST”,
    数据类型:“json”,
    colModel:[{name:“idCountryTranslate”,索引:“idCountryTranslate”,可编辑:true,隐藏:true},
    {name:“countryTranslateCode”,index:“countryTranslateCode”,可编辑:true,隐藏:true,edittype:“text”,editoptions:{defaultValue:countryCode},
    {名称:“语言”,索引:“语言”,标签:“语言”,宽度:100,可编辑:真,编辑类型:“选择”,编辑选项:{值:“en:en;ru:ru;fr:fr;de:de”},编辑规则:{必需:真},
    {名称:“countryTranslateTitle”,索引:“countryTranslateTitle”,标签:“зззааааааааааааа1072,
    行数:5,
    寻呼机:寻呼机,
    sortname:“语言”,
    分拣员:“asc”,
    viewrecords:是的,
    gridview:没错,
    身高:“100%”
    });
    //子网格导航面板
    jQuery(“#”+subgridTableId).jqGrid('navGrid',“#”+pagerId,
    {编辑:真,添加:真,删除:真,搜索:假,刷新:假},
    {mtype:“POST”,closeAfterEdit:true,reloadAfterSubmit:true},//编辑参数
    {mtype:“POST”,closeAfterAdd:true,reloadAfterSubmit:true},//添加参数
    {mtype:“POST”,reloadAfterSubmit:true,serializedDelData:function(postdata){
    var rowdata=$(“#”+subgridTableId).getRowData(postdata.id);
    返回{oper:postdata.oper,idCountryTranslate:rowdata.idCountryTranslate};
    }
    },//删除参数
    {}//搜索参数
    );
    }
    });
    //主栅格导航面板
    jQuery(“#list”).jqGrid('navGrid',“#pager”,
    {编辑:真,添加:真,删除:真,搜索:假,刷新:真},
    {mtype:“POST”,closeAfterEdit:true,reloadAfterSubmit:true},//编辑参数
    {mtype:“POST”,closeAfterAdd:true,reloadAfterSubmit:true},//添加参数
    {mtype:“POST”,reloadAfterSubmit:true,serializedDelData:function(postdata){
    var rowdata=$(“#list”).getRowData(postdata.id);
    返回{oper:postdata.oper,idCountry:rowdata.idCountry};
    }
    },//删除参数
    {}//搜索参数
    );
    }); 
    


    我找到了原因。包含了“grid.subgrid.js”文件,这导致了问题。Oleg,谢谢您的回复。

    您发布的信息无法重现问题。看见你应该另外发布测试数据。你是说json?如果是,那么对于主网格我有下一个json{“page”:1,“total”:1,“records”:2,“rows”:[{“cell”:[“8”、“ukr”、“Уаааа”},{“cell”:[“9”、“rus”、“rus”、“rus”]},{“cell”:[“21”、“ukr”、“ru”、“ru”、“Уаааааааааа”},},{“cell”:“22”、“ukr”、“en”、“en”、“乌克兰”},{“cell”],{“cell”:“23”、“ukr”、“uk}]}