JSF-Datentabelleneigenschaften festlegen
Sie können einige der Eigenschaften einer JSF-Datentabelle (JavaServer Faces) auf einer Faces-JSP-Seite mit EGL-Code ändern.
Für diese Task gelten die folgenden Voraussetzungen:
- Ihr EGL-Webprojekt muss die JSF-Komponentenschnittstelle unterstützen. Lesen Sie dazu das Kapitel Unterstützung für eine JSF-Komponentenschnittstelle zu einem EGL-Webprojekt hinzufügen.
- Der dieser Webseite zugeordnete JSF-Handler muss die folgende Importanweisung enthalten:
import com.ibm.egl.jsf.* - Sie müssen eine Variable des Typs 'UIViewRoot' im JSF-Handler deklarieren.
- Sie müssen den Namen der Variable des Typs 'UIViewRoot' in der Eigenschaft 'viewRootVar' des JSF-Handlers angeben.
Gehen Sie wie folgt vor, um die Eigenschaften eines JSF-Steuerelement für Datentabellen zu ändern:
- Drücken Sie in einer leeren Zeile innerhalb einer Funktion im JSF-Handler Strg+Umschalt+Z. Das Fenster 'EGL-Quellenassistent' wird geöffnet und die JSF-Steuerelemente werden auf der Seite angezeigt.
- Wählen Sie im Fenster 'EGL-Quellenassistent' das JSF-Steuerelement für Datentabellen aus, auf das Sie zugreifen möchten.
- Klicken Sie auf 'OK'.Im EGL-Quellenassistent werden zwei Zeilen EGL-Code zum JSF-Handler hinzugefügt. Mit der ersten Zeile wird eine EGL-Variable des Typs definiert, der mit dem ausgewählten JSF-Steuerelement übereinstimmt. Mit der zweiten Zeile wird diese Variable dem JSF-Steuerelement zugeordnet. Der Code zum Zugreifen auf ein JSF-Eingabetextsteuerelement könnte zum Beispiel folgendermaßen aussehen:
table1 HtmlDataTable; table1 = viewRoot.findComponent("table1"); - Ändern Sie unter Verwendung der mit dem Quellenassistent erstellten EGL-Variable die Eigenschaften der Datentabelle. Fügen Sie zum Beispiel den folgenden Code hinzu, um die Eigenschaft 'rowClasses' der Tabelle in die Darstellungsklasse MyRowClass1 zu ändern:
table1.setRowClasses("MyRowClass1");Fügen Sie den folgenden Code hinzu, damit in den Zeilen der Datentabelle zwischen den zwei Darstellungsklassen MyRowClass1 und MyRowClass2 alterniert wird:table1.setRowClasses("MyRowClass1, MyRowClass2");