Я ищу способ показать / скрыть произвольный компонент RichFaces. В этом случае у меня есть <rich:dataTable>
, который содержит несколько строк. Каждая строка должна иметь собственную независимую ссылку «Показать / Скрыть», чтобы при нажатии «Показать подробности» происходили две вещи:
- Ссылка "Показать подробности" отображается как "Скрыть подробности"
- Связанные деталиКолонны должны стать видимыми (начиная с состояния
rendered="true"
, но style="display: none;"
).
Я не хочу писать свои собственные функции JavaScript, если это не является абсолютно необходимым. Я также не хочу, чтобы bean-компонент на стороне сервера отслеживал, какие детали detailColumns отображались, и впоследствии перерисовывал все через AJAX: это должно быть чисто клиентское поведение. Я не уверен, как этого добиться.
Следующий псевдокод (надеюсь) иллюстрирует мою цель:
<rich:column>
<a href="#" onclick="#{thisRow.detailsColumn}.show();" rendered="">Show details</a>
<a href="#" onclick="#{thisRow.detailsColumn}.hide();" rendered="">Hide details</a>
</rich:column>
<rich:column>
<h:outputText value="#{thisRow.someData}" />
</rich:column>
<rich:column id="detailsColumn" colspan="2" breakBefore="true">
<h:outputText value="#{thisRow.someMoreData}" />
</rich:column>