我对 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>
如果我只有一对 link/modalPanel,这显然是微不足道的,但我不知道在 <rich:dataTable />
的范围内该怎么做的迭代。另外,为了防止事情进一步复杂化,该页面还将包含许多 <rich:dataTable />
的,每个都实现此行为。
最佳答案
看看 <rich:componentControl />
标签。
使用attachTo“绑定(bind)”事件以显示您希望使用for属性弹出的modalPanel。
例如:
<h:outputLink id="modalPanelLink" value="#">Show Details
<rich:componentControl attachTo="modalPanelLink" for="modalPanelId" event="onclick" operation="show" />
</h:outputLink>
关于java - 为每个 <rich :dataTable/> row? 分配一个唯一的客户端 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2866757/