iterieren Map<String,Collection> in der datatable in primefaces
Verwendung von JSF 2.1 mit primefaces
class FOO{
String name;
String value;
public void setName(String name){
this.name=name;
}
public String getName(){
return this.name;
}
public void setValue(String value){
this.value=value;
}
public String getValue(){
return this.value;
}
}
Ich habe eine Map<String, List<FOO>>
Header-name sollte der Schlüssel von der Karte. Ich brauche zu erstellen, die mehrere Spalten haben (z.B. die Größe der Karte) und jede Spalte sollte die Liste der FOO anzeigen FOO.Namen in den Zeilen.
Zum Beispiel :
falls die Größe der Karte ist 4
Coulmns-----Key1
Zeilen der 1. Spalte - List<FOO>
gegen Key1
Coulmns-----Key2
Zeilen der 1. Spalte - List<FOO>
gegen Key2
Coulmns-----Key3
Zeilen der 1. Spalte - List<FOO>
gegen Key3
Coulmns-----Key4
Zeilen der 1. Spalte - List<FOO>
gegen Key4
Kann mir jemand sagen, welche Komponente für die Anzeige diese Art der Ausgabe in xhtml-Seite ? Ich habe versucht, mit Hilfe von dynamischen datatable Schöpfung, die aber nicht in der Lage dies zu zeigen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du hast da eine falsche Datenstruktur. Ändern Sie es auf die richtige Datenstruktur. Am einfachsten ist es, die Daten erfassen, die in einem
List<Map<String, Object>>
vertritt dierows
Eigenschaft. DieMap
stellt die Spalten, sortiert nach den Namen einer Spalte aus. Sammeln Sie diese Spalte-Namen in einer separatenList<String>
vertritt diecolumns
Eigenschaft. Endlich zeigen Sie es wie folgt von<p:columns>
:Hier, wie Sie könnten, konvertieren Sie die seltsamen Daten-Struktur, um die richtigen Daten-Struktur, wenn notwendig (und vorausgesetzt, dass jede
List<FOO>
ist von gleicher Größe; die gesamte Datenstruktur macht sonst noch weniger Sinn):