我在使用Seam中的UI方面比较新,所以我希望有一些简单的东西我可以在下面的示例中替换UNIQUE_ID
的三个实例。
目标是拥有一个<rich:dataTable />
,其中每一行都能够显示/隐藏<rich:modalPanel />
,其中包含有关特定对象实例的更多详细信息。
<rich:dataTable var="object" value="#{bean.myObject}">
<rich:column>
<h:outputText value="#{object.summary}" />
</rich:column>
<rich:column>
<a onclick="Richfaces.showModalPanel('UNIQUE_ID');" href="#">Show Details in ModalPanel</a>
<a4j:form>
<rich:modalPanel id="UNIQUE_ID" >
<a onclick="Richfaces.hideModalPanel('UNIQUE_ID');" href="#">Hide This ModalPanel</a>
<h:outputText value="#{object.details}" />
</rich:modalPanel>
</a4j:form>
</rich:column>
</rich:dataTable>
如果我只有一个链接/ modalPanel对,这显然是微不足道的,但我不知道在<rich:dataTable />
的迭代范围内该做什么。此外,如果它进一步复杂化,页面也将包含许多<rich:dataTable />
,每个都实现此行为。
答案 0 :(得分:1)
查看<rich:componentControl />
标记。
使用attachTo“绑定”事件以使用for属性显示您想要弹出的modalPanel。
例如:
<h:outputLink id="modalPanelLink" value="#">Show Details
<rich:componentControl attachTo="modalPanelLink" for="modalPanelId" event="onclick" operation="show" />
</h:outputLink>