Wie blende ich Zeilen in ExtJS GridPanel aus?

8

Angenommen, ich weiß, welcher Zeilenindex als Ziel verwendet werden soll (mit this.rowToBeDeleted mit einem Wert von 2), wie kann ich diese Zeile nur aus dem Raster ausblenden, aber nicht aus dem Speicher (ich habe a Flag im Store, welches angibt, welche Zeilen später in meinem PHP-Webservice-Code aus der db gelöscht werden sollen.)

    
ppecher 04.03.2011, 18:44
quelle

5 Antworten

14

Sie können entweder eine der Methoden store.filter() verwenden oder Sie können das Zeilenelement ausblenden.

%Vor%

Ich denke, es ist viel besser, den Datensatz aus dem Speicher zu entfernen und den Speicher zu aktualisieren, da Sie den Datensatz löschen und ihn nicht einfach ausblenden. Wenn sich der Speicher im Stapelmodus befindet (Standardeinstellung: Stapel: true, restful: false), merkt er sich, welche Zeilen Sie entfernt haben, und sendet keine Anforderung an den Server, bis Sie store.save() aufrufen.

    
Robby Pond 04.03.2011, 19:36
quelle
6

In ExtJS 4.1 gibt es kein view.getRow(..) . Stattdessen können Sie verwenden:

%Vor%

, um die Zeile am angegebenen Index auszublenden, und

%Vor%

um es zu zeigen (wo 'das' das Gitter ist).

CSS-Klasse hidden ist definiert als

%Vor%

Dies ist nützlich für besondere Szenarien, in denen store.filterBy() nicht geeignet ist.

    
Timur K 16.08.2013 17:00
quelle
4

Ich empfehle, store.FilterBy() zu verwenden und eine Funktion zu übergeben, um den Wert des Wertes in rowToBedeleted zu testen:

%Vor%

Ich habe vor einiger Zeit einen grundlegenden Blogpost über gridfiltering geschrieben, den Sie hier lesen können: Ссылка

    
Nils-Fredrik 05.03.2011 21:59
quelle
1

Sie können dafür die Methoden store.filter() oder store.filterBy() verwenden.

Legen Sie eine "versteckte" Eigenschaft für Ihre Datensätze fest, und filtern Sie alle Datensätze, die ausgeblendet sind, auf "True" (Wahr). Auf diese Weise sind sie immer noch im Geschäft vorhanden, aber im Raster nicht sichtbar.

    
ChrisR 04.03.2011 19:33
quelle
1

Schreiben Sie in der Tabelle grid js folgenden Code, um ein CSS auf die Zeilen anzuwenden, die Sie ausblenden möchten.

%Vor%

Definieren Sie nun ein benutzerdefiniertes CSS in der Datei custom.css:

%Vor%

Dadurch werden Zeilen im Raster ausgeblendet, ohne den Speicher zu entfernen oder zu filtern.

    
Nikhil G 03.07.2014 11:14
quelle

Tags und Links