Frage

Wenn ich ein Raster der Löschtaste drücke, verschwindet die Zeile aus dem Netz, aber wenn Raster ist, dass Zeile erscheint wieder neu geladen. Ich habe versucht, eine Menge Befehle ohne Ergebnisse. Bitte Hilfe! Vielen Dank im Voraus.

Dies ist die Funktion, die das Netz erzeugt:

// create the data store
var store = new Ext.data.Store({
    proxy: new Ext.ux.data.PagingMemoryProxy(myData),
    remoteSort:true,
    sortInfo: {field:'del', direction:'DESC'},

    reader: new Ext.data.ArrayReader({
        fields: [
           {name: 'id'},
           {name: 'name'},
           {name: 'category'},
           {name: 'price', type: 'float'},
           {name: 'active', type: 'int'},
           {name: 'actions', type:'text'}
        ]
    })
});

Und hier ist die Funktion remove:

        buttons: [{
        text: 'Add',
        iconCls: 'silk-add',
        handler: this.onAdd

    }, '-', {
        text: 'Delete',
        iconCls: 'silk-delete',
                   handler: function(sm, rowIdx,r){

            var s = grid.getSelectionModel().getSelections();
            for(var i = 0, r; r = s[i]; i++){

              // store.remove(r);
               var index = store.data.indexOf(r);
               if(index > -1){
                r.join(null);
                store.data.removeAt(index);

            }
                store.modified.remove(r);

            if(index > -1){
                store.fireEvent('remove', store, r, index);     
            } 
                store.destroyRecord(store, r, index);
            }

           store.reload();
        },
    }]
War es hilfreich?

Lösung

Wenn Sie das Raster mit der grid.store.reload () -Methode nachladen des Laden wird die Daten von der Quelle zu laden, so dass in diesem Fall sieht es aus wie Sie lokale Daten verwenden (ein Array oder JSON-String?) . Also ja, Sie löschen den Datensatz aus dem Laden, aber dann durch Neuladen ruft Sie diese Datensätze werden wieder einsetzen. Ihre beste Wette ist, etwas zu tun, wo man die Werte aus dem Objekt „mydata“ löschen und dann Anruf reload. Das sollte für Sie loswerden der Datensätze erhalten.

Andere Tipps

Ich fand die Lösung, wie von mydata für ex löschen: myData.splice (1,1);

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top