Wie füllt man die rechte Seite einer Richfacts-Auswahlliste?

8

Ich verwende die Auswahlliste von Richface und ich Ich möchte die rechte Seite mit einer Liste von SelectItems aus meiner Backing-Bean füllen.

Das Füllen der linken Seite ist kein Problem der Backing Bean, die rechte Seite ist jedoch problematisch.

Das habe ich derzeit

%Vor%

BEARBEITEN:

Also habe ich die Rollen 'a', 'b', 'c' und 'd'.

Der Benutzer hat die Rollen "a" und "d", also sollten "a" und "d" auf der rechten Seite sein und "b" und "c" sollten auf der linken Seite sein.

BEARBEITEN:

Weitere Erklärung.

Ich habe drei Listen für den Benutzer.

  1. Alle möglichen Rollen (a bis d)
  2. Alle Rollen, zu denen der Benutzer gehört (a und d)
  3. Alle Rollen, zu denen der Benutzer NICHT gehört (b und c)

Alle Listen haben den Datentyp ArrayList<SelectItem> .

Ich brauche die Möglichkeit, einzelne Rollen zwischen der Listennummer 1 und der Listennummer 2 zu verschieben und dann die neuen Rollen zu speichern. Ich dachte, die Auswahlliste wäre das beste Richface-Objekt für den Job.

    
Berek Bryan 08.05.2009, 13:55
quelle

5 Antworten

3

Sie möchten diesen Code:

%Vor%

und in deiner Bean willst du:

%Vor%

Wenn Sie Standardrollen erstellen möchten, fügen Sie einfach die Rollen in das Array "selectedRoles" ein (z. B. im Bean-Konstruktor). Auf diese Weise enthalten "selectedRoles" immer die Elemente auf der rechten Seite der Auswahlliste, während Elemente auf der linken Seite nicht im Array enthalten sind.

Hoffe, das hilft!

    
Chris Dale 08.05.2009, 19:17
quelle
6

Es scheint, dass ich die Lösung gefunden habe.

%Vor%
  • "#{aBean.rightSideValues}" sollte auf die Liste oder das Array von verweisen Objekte. Mit diesen Werten rechte Seite der Auswahlliste wird ausgefüllt.

  • #{aBean.leftSideValues} sollte auf die Liste des SelectItems zeigen Objekt.

EINE ANMERKUNG - SelectItem-Objekt MUSS mit Objekten aus "#{aBean.rightSideValues}" konstruiert werden.

Beispiel .

%Vor%

Beachten Sie, dass SelectItem das erste Argument übernimmt und dieses Argument der Verweis auf SomeObject ist. In den Interna werden Rich Faces Objekte aus der "#{aBean.rightSideValues}" mit Objekten aus der #{aBean.leftSideValues} mit Hilfe der Methode

SomeObject.equals()

    
indegro 30.06.2010 14:19
quelle
1

Wenn Sie andere Werte als Text benötigen, müssen Sie einen Konverter erstellen.

Siehe Ссылка

    
Ivar Wedøe 05.08.2010 11:04
quelle
1

Wie in RF 4.3.3 und wahrscheinlich auch früher müssen Sie auch die Hash-Methode Ihrer Modellklasse (Entity-Bean) überschreiben. Daher reicht es nicht aus, die equals-Methode für Ihren Konverter zu überschreiben. Folgendes wurde für mich und meine PubThread-Entity-Bean ausgearbeitet.

%Vor%     
feder 04.09.2013 22:15
quelle
0

Setzen Sie den Wert der Auswahlliste auf ein Array mit dem Wert von SelectItem.

Was auch immer Sie auf der rechten Seite anfangen, ist im Grunde nur der Standardwert der Pickliste:

%Vor%     
Zack Marrapese 08.05.2009 14:20
quelle

Tags und Links