使用rich:dataTable制作可扩展/可折叠子表的最佳方法

时间:2008-12-11 09:55:27

标签: jsf java-ee richdatatable

我最近将一个从JSF 1.1移植到JSF 1.2的应用程序。在这个过程中,我们删除了战斧并决定使用富人。

现在我需要一种方法为表格中的每一行制作可扩展/可折叠的detailViev。

我唯一能想到的就是这些内容(改编自docs.jboss.com上的文档):

<rich:dataTable value="#{capitalsBean.capitals}" var="capitals">
    <rich:column>
        ...
    </rich:column>
    <rich:subTable value="#{capitals.details}" var="detail" ajaxKeys="#{bean.ajaxSet}" binding="#{bean.subtable}" id="subtable" rendered="detail.detailOpened">
        <rich:column>
            ...
        </rich:column>
    </rich:subTable>
</rich:dataTable>

我想这样的事情会起作用。问题是我要么必须在我使用的对象中添加getDetailOpened和setDetailOpened,要么将每个对象包装在提供这两种方法的另一个对象中。

任何人都知道更好的方式,或者应该怎么做?

1 个答案:

答案 0 :(得分:1)

我经常向我的bean(或包装bean)添加方法,这些方法包含这些属性作为解决JSF的方法。它不漂亮,但它有效。

目前我唯一能想到的选择是使用JavaScript函数来切换详细信息视图的状态。由于许多原因,这不太理想,但它可以节省你必须保持状态服务器端。