0
我需要在<rich:dataTable>
的每個列標題中添加複選框。選定的複選框意味着相應的列將包含在從表格數據生成的pdf報告中。其他要求是:列必須是可排序的,我必須能夠混合<rich:column>
和<rich:columns>
標籤。如何將複選框添加到JSF/Richfaces中的列標題?
我試圖用幾種不同的方法來完成這個。如果我使用<rich:columnGroup>
這樣的:
<rich:dataTable>
<f:facet name="header">
<rich:columnGroup>
<rich:column sortBy="#{bean.foo}">
<h:outputText value="bar"/>
<h:selectBooleanCheckbox value=.../>
</rich:column>
<rich:columns ...>
<h:outputText value="bar"/>
<h:selectBooleanCheckbox value=.../>
</rich:columns>
</rich:columnGroup>
</f:facet>
<rich:column>
<h:outputText value="#{bean.baz}"/>
</rich:column>
<rich:columns value=... var=...>
<h:outputText value="#{bean.foobar}"/>
</rich:columns>
</rich:dataTable>
則排序圖標不顯示。另外,我已經試過把文本和<h:panelGroup>
內的複選框,像這樣的:
<rich:dataTable>
<rich:column sortBy="#{bean.foo}">
<f:facet name="header">
<h:panelGroup layout="block">
<h:outputText value="bar"/>
<h:selectBooleanCheckbox value=.../>
</h:panelGroup>
</f:facet>
<h:outputText value="#{bean.baz}"/>
</rich:column>
<rich:columns ...>
<f:facet name="header">
<h:panelGroup layout="block">
<h:outputText value="bar"/>
<h:selectBooleanCheckbox value=.../>
</h:panelGroup>
</f:facet>
<h:outputText value="#{bean.foobar}"/>
</rich:columns>
</rich:dataTable>
這樣,一切都顯示,但是當我點擊它觸發列排序的複選框,這不是我想要的。
我在網上搜索了一個答案,但沒有找到完全像我的問題。有沒有人知道更好的方式來做這樣的事情,或者至少如何避免排序當我點擊第二個代碼示例中的複選框?
非常感謝。