Richfaces ExtendedDataTable Auswahl Frage
Bitte helfen.
Haben Sie einen Blick auf http://richfaces-showcase.appspot.com/richfaces/component-sample.jsf?demo=extendedDataTable&sample=exTableSelection&skin=blueSky
Siehst du schöne "Autos Marktplatz" - Tabelle mit Mehrfachauswahl unterstützen. Sie werden auch bemerken, dass eine der ausgewählten Zeilen in Fettschrift angezeigt wird. Was bedeutet diese Fett dargestellte Zeile bedeuten, überhaupt? Ist es irgendwie verwaltet über Methoden der org.richfaces.component.UIExtendedDataTable
oder andere RF-Klassen? Kann nicht finden, eine API für die Linie.
Was ich versuche zu tun, ist das erstellen neuer Artikel innerhalb backing-bean und Kraft-Tabelle Auswahl, zeigen Sie auf neu erstellte Element. Ich habe es geschafft, eine Auswahl über setSelection()
, aber ich habe keine Kontrolle über die kräftige Linie, es bleibt auf seiner vorherigen position, bitte um Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den kühnen Stil für die ausgewählte Zeile wird verwaltet von der stylesheet ausgeliefert mit richfaces .Jedes Thema, in das richfaces hat Ihre eigenen stylesheet. Sie können sich auf die offizielle Dokumentation ( ist Es immer noch eine draft-version) um zu sehen, welche style-Klassen stehen zur Verfügung für die Anpassung des look-and-feel der
rich:extendedDataTable
.Beispielsweise
rf-edt-r-sel
oderrf-edt-r-act
definieren den Stil der markierten Zeile, können Sie aufheben, indem Sie deklarieren einen Stil für diese style-Klasse Namen in der Seite, wo Sierich:extendedDataTable
Antwort auf den Kommentar:
Den
RowKey
zu sein scheint, die Nummer der Zeile der erweiterten Tabelle. Wenn Sie möchten, um auf das zugrunde liegende Objekt (d.h.InventoryItem
) aus derUIExtendedDataTable
haben , müssen Sie die Nummer der Zeile, die Sie abrufen möchten, mitsetRowKey(selectionKey)
vor dem AufrufgetRowData()
um das eigentliche Objekt . SodataTable.setRowKey(selectionKey)
verwendet, um den ausgewähltenInventoryItem
von derUIExtendedDataTable
in Reihenfolge zu stellen Sie Sie in dieselectionItems
(angezeigt wird die "Ausgewählte Zeilen" - box, die neben der erweiterten Tabelle) . Für die Zwecke derObject originalKey = dataTable.getRowKey();
unddataTable.setRowKey(originalKey);
finden Sie auf dieser link .In richfaces 3.3 , finde ich
UIExtendedDataTable
hat eine Methode namens setActiveRowKey() , die scheint, können die aktiven Datensatz . Aber es ist in der neuesten version entfernt von richfaces 4.0 CR1 .Also vielleicht können Sie dasUIExtendedDataTable
's java-script-API, um den gleichen Effekt erzielen .Definieren Sie zunächst eine
int
Eigenschaft namensboldRow
in Ihrem MBean . Dann haben Sie eine<a4j:commandButton>
zu nennen, eine Mbean 's Methode .Diese Methode fügt die Nummer der Zeile, die Sie auswählen möchten, nach deiner Logik. Dieoncomplete
- Attribut der Schaltfläche rufen Sie dieUIExtendedDataTable
's JavaScript-API zum auswählen einer Zeile, die Zeile ist gleich zuboldRow
, und verwenden Sie dannrender
Attribut zum aktualisieren derUIExtendedDataTable
. Also die<a4j:commandButton>
und<rich:extendedDataTable>
sollte wohl so Aussehen: