Hallo,
ich verzweifel gerade und benötige dringend Hilfe. Ich habe eine Komponente geschrieben, die wie folgt benutzt werden kann.
<x:mycomponent columns="2" value="#{bean.items}" var="item">
<h:graphicImage url="#{item.url}"/>
<h:selectBooleanChechbox .../>
</x;mycomponent>
Die Komponente soll also Bilder darstellen, die man mit einer Selectbox zur weiteren Verarbeitung selektieren soll. Da die Bilder nicht nur Zeilenweise angeordnet sein sollen (wie in der dataTable) habe ich mir eine Komponente geschrieben, die ihre Kinder in eine TabellenZELLE rendert. Dazu habe ich in encodeBegin() der Komponente den Tabellenkopf gerendert und iteriere dann über die Liste der Items. Für jedes Item starte ich eine neue Zelle (<td>) und eventuell eine neue Zeile ruffe dann encodeChildren(), um daran anschließend die Zelle (und Zeile) zu beenden.
In encodeChildren() iteriere ich über die Kinder und rufe für sie encodeBegin(), encodeChildren() und encodeEnd() auf.
Das Ergebnis sieht genau so aus, wie ich es gewollt habe. Nur wenn ich jetzt die Checkbox eines Bildes auswähle und eine Aktion ausführe, ist danach jede Checkbox aller Bilder ausgewählt.
Ich erkläre mir das so, dass mein Komponentenbaum auf Serverseite tatsächlich ja auch nur eine Checkbox beinhaltet. Ich denke, ich müsste selbst mehr erzeugen. Vielleicht indem das Tag ein BodyTag wird.
Ich kriegs nicht hin. Kann mir hier jemand sagen wie ich es anstellen kann?
Gruß, Tobias
ich verzweifel gerade und benötige dringend Hilfe. Ich habe eine Komponente geschrieben, die wie folgt benutzt werden kann.
<x:mycomponent columns="2" value="#{bean.items}" var="item">
<h:graphicImage url="#{item.url}"/>
<h:selectBooleanChechbox .../>
</x;mycomponent>
Die Komponente soll also Bilder darstellen, die man mit einer Selectbox zur weiteren Verarbeitung selektieren soll. Da die Bilder nicht nur Zeilenweise angeordnet sein sollen (wie in der dataTable) habe ich mir eine Komponente geschrieben, die ihre Kinder in eine TabellenZELLE rendert. Dazu habe ich in encodeBegin() der Komponente den Tabellenkopf gerendert und iteriere dann über die Liste der Items. Für jedes Item starte ich eine neue Zelle (<td>) und eventuell eine neue Zeile ruffe dann encodeChildren(), um daran anschließend die Zelle (und Zeile) zu beenden.
In encodeChildren() iteriere ich über die Kinder und rufe für sie encodeBegin(), encodeChildren() und encodeEnd() auf.
Das Ergebnis sieht genau so aus, wie ich es gewollt habe. Nur wenn ich jetzt die Checkbox eines Bildes auswähle und eine Aktion ausführe, ist danach jede Checkbox aller Bilder ausgewählt.
Ich erkläre mir das so, dass mein Komponentenbaum auf Serverseite tatsächlich ja auch nur eine Checkbox beinhaltet. Ich denke, ich müsste selbst mehr erzeugen. Vielleicht indem das Tag ein BodyTag wird.
Ich kriegs nicht hin. Kann mir hier jemand sagen wie ich es anstellen kann?
Gruß, Tobias
Comment