Zeile counter für html-Tabellen-Zeile
Habe ich eine HTML Tabelle in JSF-web-Anwendung. Ich bin die Erzeugung Zeilen dynamisch mit <ui:repeat>
. Ich möchte einen Zähler für jede Zeile. Wie bekomme ich diese? Keine Hilfe?
Ssimilar zu rowKeyVar in rich faces dataTable.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie mit richfaces, können Sie es mit Ihrer iteration-tag (
<a4j:repeat>
), die ein bisschen besser geeignet als die Verwendung<c:forEach>
, und die ist wie eine Erweiterung<ui:repeat>
Als der 2.0 Facelets, das ist jetzt möglich mit der
varStatus
.Können Sie es nicht gut mit der
ui:repeat
, aber Sie können dies tun, mit derh:dataTable
. Binden Sie die Komponente an eineUIData
Eigenschaft in der backing-bean. Es hat einegetRowIndex()
Methode die genau das macht, was Sie brauchen:Hier bin ich hinzufügen
1
zuUIData#getRowIndex()
denn es ist null-basiert. Finden Sie die Mit datatables Artikel nützlich, um mehr zu erfahren über datatables.Wenn Sie wirklich wollen, ein bisschen mehr Kontrolle über dem Tisch-layout (vor allem mit colspans/rowspans, die fehlen, sind in der realen JSF
h:dataTable
tag), dann eine alternative ist die Nutzung der JSTLc:forEach
tag, das hat einevarStatus
Attribut, das gibt Ihnen einen Griff auf der Schleife Stand.c:forEach
ist, dass man nicht mit input-Komponenten in der Tabelle leicht. Mit einemh:dataTable
können Sie ganz einfach erstellen Sie eine editierbare Datentabelle und JSF wird die Verwaltung aller Daten der Erhebung und Aktualisierung vollständig selbst.Gibt es keine Zähler für jede Zeile in der ui:repeat. Als BalusC gesagt, Sie gehen können, für h:datatable. Eine weitere Idee ist indirekt können Sie eine zusätzliche index-Methode in der bean für jedes Objekt in der Liste, die in serverseitige und erhalten, die in jsf und manipulieren.
Schlechte (oder gute Idee) ist mit JavaScript zu tun, der trick.