jqGrid getData gibt nur Daten für die aktuelle Seite

Hoffentlich ist das eine schnelle Antwort!

Habe ich eine editierbare grid mit 'clientseitige' (lokale) Daten und jetzt will ich Durchlaufen alle Zeilen in javascript und Prozess/- Paket die Daten selbst vor dem senden an den server über eine jQuery.ajax-Aufruf.

Das problem ist, dass, unerwartet (für mich zumindest), mit dem folgenden code ruft nur die Zeilen für die derzeit sichtbaren raster-Seite! Wie bekomme ich ALLE Zeilen in der Tabelle (D. H. ich habe vier Seiten von 10 Datensätze jeder und dieser code gibt nur die ersten 10, wenn ich bin auf Seite 1)? Sie müssen in der client irgendwo, weil ich kann die Seite um, und Bearbeiten Sie die Zeilen, und die Daten werden persistent gespeichert ohne Aufruf des Servers! 🙂

    cacheCONF = [];
    var rows= $('#myGrid').getRowData();  //<--Need to get ALL rows here!!!
    var cacheRowID = 0;
    for (var row in rows) {
        if (rows[row].Action == 'Yes') {
            cacheCONF.push({ RowID: rowID, System: rows[row].System, Action: rows[row].Action, Account: '-', Required: '-'  });
            rowID++;
        }
    }
  • Gefunden dieses Problem zu umgehen, vorübergehend ändern Sie die Größe der Seite. Hoffe, dass es eine weitere "formale" Lösung. Code: var pageSize = $('#myGrid').getGridParam('rowNum'); $('#myGrid').setGridParam({ rowNum: 10000 }).trigger("reloadGrid"); getRowData erhalten dann bis zu 10000 Zeilen (also höher als Ihre maximal mögliche Zeilen). Sie können dann verwenden, pageSize, um die gewünschte Größe zurück zu den Benutzereinstellungen.
InformationsquelleAutor jqwha | 2010-07-22
Schreibe einen Kommentar