2010-05-19 88 views
0

我对在Seam中使用UI的相对较新,所以我希望有一些简单的东西,我可以在下面的示例中替换UNIQUE_ID的三个实例。为每个<rich:dataTable />行分配一个唯一的客户端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 />'s,每个实现此行为。

回答

1

看一看<rich:componentControl />标签。

使用attachTo“绑定”事件以显示您希望使用for属性弹出的模式面板。

例:

<h:outputLink id="modalPanelLink" value="#">Show Details 
    <rich:componentControl attachTo="modalPanelLink" for="modalPanelId" event="onclick" operation="show" /> 
</h:outputLink> 
相关问题