Feuer ein Ereignis nach dem lokalen löschen jqgrid

Also, was ich versuche zu tun, ist ein Ereignis ausgelöst, NACHDEM ein lokales löschen erfolgt worden auf die jqgrid. Der Grund für dieses ist, weil ich den Umgang mit einer globalen speichern auf der website also ich bin nicht posting direkt auf dem server. Ich bin die Speicherung der Daten im JSON-Formular in einem hidden-element auf die Seite, so dass, wenn der Benutzer speichert schließlich das element Wert ist gepackt und an den server gesendet, zusammen mit allen anderen Daten.

Das Problem, das ich habe ist, dass wenn ich eine Zeile löschen von jqgrid ich bin nicht in der Lage, aktualisieren Sie die versteckten element mit dem ändern, so dass, wenn der Benutzer spart danach, es ist wie das entfernen nie passiert.

      $("#translationMappingGrid").jqGrid({
    data: mydata, 
    datatype: "local", 
    mtype: 'GET',
    colNames:['From','To', 'Type'],
    colModel :[ 
        {name:'from',index:'from', width:180, align:"left",sorttype:"float", editable: true, editrules:{custom:true, custom_func:validateIPGridInput}}, 
        {name:'to',index:'to', width:180, align:"left",sorttype:"float", editable: true, editrules:{custom:true, custom_func:validateIPGridInput}}, 
        {name:'type',index:'type', width:200,align:"left",sorttype:"float", editable: true, 
            edittype:"select", formatter:'select', editoptions:{
                value:"0:Never Translate;1:Always Translate;2:Only If Source;3:Only If Destination"}
        }, 
    ],
    pager: '#pager',
    rowNum:10,
    rowList:[10,20,30],
    sortname: 'invid',
    sortorder: 'desc',
    viewrecords: true,
    gridview: true,
    caption: 'Mapping',
    editurl: 'probe.sysinfo.ajax',
    url:'clientArray',
    onSelectRow: function(id){ 
            jQuery('#translationMappingGrid').jqGrid('restoreRow',lastsel2); 
            //below are the parameters for edit row, the function is called after a successful edit has been done
            //jQuery("#grid_id").jqGrid('editRow',rowid, keys, oneditfunc, succesfunc, url, extraparam, aftersavefunc,errorfunc, afterrestorefunc);
            jQuery('#translationMappingGrid').jqGrid('editRow',id,true,"","","","",function () {
                setTranslationMappingJSON(getGridDataJSONString(this));
                window.parent.document.getElementById('notificationDiv').style.display= "";
                }); 

            lastsel2=id; 
    },
    afterInsertRow: function(rowid, rowdata, rowelem ){
        //alert("after insert row");
        setTranslationMappingJSON(getGridDataJSONString(this));
        window.parent.document.getElementById('notificationDiv').style.display= "";
    }


  });

  //adds buttons to jqgrid nav bar
  jQuery("#translationMappingGrid").navGrid('#pager',{
        edit:false,add:true,del:true,search:false,refresh:true
        }, {
            closeAfterAdd:true,
            closeAfterEdit: true
        },
        {
            closeAfterAdd:true,
            closeAfterEdit: true,
            afterSubmit: function(response, postdata) {
                alert("after complete row");
                setTranslationMappingJSON(getGridDataJSONString(this));
                window.parent.document.getElementById('notificationDiv').style.display= "";
                return [true,""];
            }
        });

Wie in dem code oben bin ich erfolgreich Update das hidden-element mit den Veränderungen sowohl hinzufügen als auch Bearbeiten (inline) über afterrestorefunc, aber dies nicht funktioniert löschen.

Habe ich versucht, mit afterSubmit im code oben, aber dies ist nicht arbeiten entweder. Ich habe auf diese für ein paar Tage jetzt und sind zu dem Schluss gekommen, dass ich vielleicht zu schreiben, meine eigenen benutzerdefinierten code für die Schaltfläche löschen vollständig, aber ich hoffe, dass dies nicht der Fall ist.

  • Ich bekam aufgeregt, als ich sah, dass du eine Lösung gefunden, leider sind unsere Fälle ein bisschen anders. Ich hörte auf mit navgrid, aber trotzdem würde ich gerne einige Ereignis ausgelöst, wenn eine Reihe entfernt wird (durch "delRowData', wie ich bin, zum Beispiel). Aber schön, dass Sie fand Sie es selbst aus, sehr gute Beschreibung!
InformationsquelleAutor Brandon | 2011-06-20
Schreibe einen Kommentar