Ich habe eine Primafaces-Datentabelle, die ich anzeigen lassen muss (ausgewählte Zeilennummer) (Gesamtanzahl der Zeilen) in der JSF-Seite. Ich könnte die Zeilennummern in einer der Spalten mit rowIndexVar -Attribut anzeigen, aber ich bekomme keine Idee, die gleichen Zahlen separat im Eingabetext der Zeilenauswahl anzuzeigen.
Was muss ich in der JSF-Seite oder in der verwalteten Bean tun, um die ausgewählte Zeilennummer zu erhalten.
Bitte helfen Sie mir in dieser Hinsicht.
Unten ist meine JSF-Seite
%Vor% Ich glaube, dass es keinen direkten Weg dafür gibt. Obwohl die Verwendung von zwei Ajax-Anfragen nicht schön ist, können Sie zumindest das Ergebnis erzielen, das Sie erwarten, wenn Sie einfache PrimeFaces verwenden. Sie können dies auf einen Anruf reduzieren, wenn Sie p:ajax
durch die PrimeFaces-Erweiterungen pe:javascript
Jede Zeile (tr), die von Ihrer Datentabelle gerendert wird, hat ein Attribut namens data-rk mit Ihrem rowKey und ein anderes Attribut namens data-ri mit Ihrem rowIndexVar-Wert.
Sie können das Attribut data-rk über dtWidgetVar.selection abrufen (dtWidgetVar ist der Name der Widget-Variable in Ihrer Datentabelle).
Sie können die indexRow jetzt mit einem remoteCommand
an Ihr Modell sendenHier ist der Code, mit dem ich es getestet habe:
Die Ansicht
%Vor%
Verwaltete Bean
%Vor%Wenn Sie die Checkbox-Auswahl verwenden, können Sie die ausgewählten Indizes wie folgt abrufen:
%Vor%Sie sollten jetzt in der Lage sein, die richtige Änderung an Ihrem Code vorzunehmen, um davon Gebrauch zu machen.
Ich bin überrascht von der komplexen Lösung in der anderen Antwort. Angenommen, Sie haben die #{workSpaceBean.lpInfoList}
serverside, wenn Sie das 'select' ausführen, können Sie das einfach tun (Code gemäß der PrimeFaces-Präsentation, passen Sie sich Ihren Bedürfnissen an)
Tags und Links datatable jsf-2 primefaces