JQGrid编辑函数使用错误的ID

时间:2016-02-26 11:25:05

标签: jquery mysql jqgrid

我将这个模型用于jqgrid表:

$("#list").jqGrid({
                datatype: 'clientSide',
                colNames: ["Id", "Id cliente", "RagSociale cliente", "Numero","Anno",
                           "Data di ordine", "Id agente", "Nome agente", "Cognome agente",
                           "Id agenzia", "RagSociale agenzia", "Id utente", "Nome utente", 
                           "Data d'inserimento", "Note", "Disabilitato"],
                colModel: [
                    { name: "id"},
                    { name: "idCliente"},               
                    { name: "ragSocCliente"},
                    { name: "numero"},              
                    { name: "anno"},
                    { name: "dataOrdine"},              
                    { name: "idAgente"},
                    { name: "nomeAgente"},
                    { name: "cognomeAgente"},
                    { name: "idAgenzia"},
                    { name: "ragSocAgenzia"},
                    { name: "idUser"},
                    { name: "nomeUser"},                                            
                    { name: "dataInserimento"},             
                    { name: "note"},                
                    { name: "disabilitato", width:100, sortable: false, resizable:false}
                ],

                sortname: "id",
                sortorder: "asc"
            })
            .navGrid('#pager', {del:false});

当我想编辑时,我点击了记录和编辑按钮,这将打开一个新窗口。

我的主要问题是,当我编辑时,我需要存储在id列中的ID,而不是我获得关于表的行的ID。如果我的第二个记录的ID为53并且我尝试编辑它,那么绑定将全部错误,因为它传递id = 2而不是传递id = 2,因为它是表的第二个记录。解决这个问题的方法是什么?

---- ---- EDIT

由于时间关系,我已经添加了sessionStorage的用法,但我想知道是否有另一种方式,例如使用navgrid编辑选项

colModel: [
                    { name: "id"},
                    { name: "idCliente"},               
                    { name: "ragSocCliente"},
                    { name: "numero"},              
                    { name: "anno"},
                    { name: "dataOrdine"},              
                    { name: "idAgente"},
                    { name: "nomeAgente"},
                    { name: "cognomeAgente"},
                    { name: "idAgenzia"},
                    { name: "ragSocAgenzia"},
                    { name: "idUser"},
                    { name: "nomeUser"},                                            
                    { name: "dataInserimento"},             
                    { name: "note"},                
                    { name: "disabilitato", width:100, sortable: false, resizable:false}
                ],

                sortname: "id",
                sortorder: "asc",
                onSelectRow: function (id) {                    
                    sessionStorage.setItem("idEdit", $("#list").jqGrid('getCell', id, 'id'));

            }
        })
        .navGrid('#pager', {del:false});                                                                                    

只是为了澄清,按下编辑按钮会打开另一个使用get函数并传递了Id的页面,它会在编辑中填充表格,这里是获取部分:

$(document).ready(function() {
        <c:if test="${not empty param.id}"> 
        var parameter = sessionStorage.getItem("idEdit");
        console.log(parameter)
        $.get("get", {
            id: parameter
        }, function(data) {         
            window.data = data;
            ko.applyBindings(window.data);
            $("#scaricata").prop('checked', window.data.scaricata);
            $("#originale").prop('checked', window.data.originale);
            $("#dematerializzazione").prop('checked', window.data.dematerializzazione);

        });         
    </c:if> 

if检查是否有参数。作为编辑,显然有。

0 个答案:

没有答案