jqgrid multiselect wählt nur Zeilen auf der aktuellen Seite aus, wenn Paging aktiviert ist. Wie kann ich Zeilen auf mehreren Seiten auswählen?

8

Ich bemerkte in der jqgrid-Demo (http://www.trirand.com/blog/jqgrid/jqgrid.html & gt; Advanced & gt; Multiselect), dass nur Zeilen (sichtbar) auf der aktuellen Seite ausgewählt werden, wenn Paging aktiviert ist .

Alle Tipps, um es über mehrere Seiten hinweg zum Laufen zu bringen. Oder irgendwelche anderen alternativen Lösungen?

    
giorgio79 17.01.2011, 07:06
quelle

2 Antworten

3

Ich weiß, dass diese Frage irgendwie staubig ist, aber ich hatte kürzlich Bedarf an dieser Funktionalität und fand, was ich für einen viel saubereren Weg halte.

Anstatt ein Ereignis an jedes Kontrollkästchen anzuhängen, warum nicht die Ereignisse onSelectRow und onSelectAll des jqGrids verwenden? Wenn eine Zeile ausgewählt ist, prüfen Sie, ob unsere Liste der ausgewählten Zeilen diese Zeile enthält (basierend auf der ID). Fügen Sie es zur Liste hinzu, wenn es nicht dort war und ausgewählt wurde, entfernen Sie es, wenn es dort war und nicht mehr ausgewählt ist. Wenn alle Zeilen ausgewählt sind, durchlaufen Sie sie.

%Vor%

Ich hoffe, dies hilft anderen bei der Suche nach einer Lösung.

    
Weezle 30.07.2012, 15:38
quelle
0

Ich gehe davon aus, dass Sie einige Zeilen auf einer Seite auswählen und dann zu einer anderen Seite wechseln möchten, eventuell weitere Zeilen auswählen und alle diese Auswahl beibehalten möchten.

Sie müssen mit den Auswahlereignissen für jedes Kontrollkästchen umgehen. Fügen Sie einen Ereignishandler an each $("#cb_my_grid") an und behalten Sie ein Array ausgewählter Elemente bei. Wenn Sie die Daten benötigen (z. B. wenn die Seite gesendet wird), können Sie die Werte im Array übermitteln.

    
Ron Harlev 04.03.2011 18:00
quelle

Tags und Links