Zeilenzähler für HTML-Tabellenzeile

8

Ich habe eine HTML-Tabelle in der JSF-Webanwendung. Ich erzeuge Zeilen dynamisch mit <ui:repeat> . Ich möchte einen Zähler für jede Zeile. Wie kann ich das bekommen? Irgendwelche Hilfe?

Ähnlich wie rowKeyVar in DatasTable von Rich Faces.

    
crazyTechie 30.12.2009, 10:18
quelle

5 Antworten

11

Da Sie richfaces verwenden, können Sie dies mit dem Iterations-Tag ( <a4j:repeat> ) tun, was etwas passender ist als die Verwendung von <c:forEach> , und das ist wie eine Erweiterung von <ui:repeat>

%Vor%     
Bozho 30.12.2009, 19:44
quelle
19

Ab Facelets 2.0 ist dies jetzt mit varStatus möglich.

%Vor%     
ustun 14.10.2011 13:07
quelle
6

Sie können es nicht schön mit ui:repeat machen, aber Sie können das mit h:dataTable machen. Binden Sie die Komponente an eine UIData -Eigenschaft in der Sicherung Bohne. Es hat eine getRowIndex() Methode, die genau das tut, was Sie brauchen:

%Vor%

Hier füge ich 1 zu UIData#getRowIndex() hinzu, weil es auf Null basiert. Sie können den Artikel Verwenden von Datentabellen nützlich finden, um mehr über Datatables zu erfahren.

Wenn Sie tatsächlich ein bisschen mehr Kontrolle über das Tabellenlayout haben wollen (insbesondere mit colspans / rowspans, die im echten JSF h:dataTable -Tag fehlen), dann ist eine Alternative die Verwendung von JSTL c:forEach -Tag, das ein varStatus -Attribut hat, das Ihnen einen Punkt für die Schleife gibt Status.

%Vor%     
BalusC 30.12.2009 11:44
quelle
0

Es gibt keinen Zähler für jede Zeile in ui: Wiederholen. Wie BalusC sagte, können Sie für h: Datatable gehen. Eine andere Idee ist indirekt, dass Sie eine zusätzliche Indexmethode in Bean für jedes Objekt in der Liste auf der Serverseite hinzufügen können und diese in jsf holen und manipulieren können.

    
valli 30.12.2009 11:58
quelle
0

Eine schlechte Idee (oder eine gute Idee) verwendet JavaScript , um diesen Trick zu machen.

%Vor%     
BachT 15.10.2011 00:21
quelle

Tags und Links