展开/折叠数据表中的子表

时间:2010-09-14 10:02:24

标签: jsf richfaces

是否可以展开/折叠数据表中的子表?我的子表包含有关其上方行的信息,我想显示/隐藏图像的onclick。只是想知道我该如何去做?

这就是我目前使用的:

  <rich:dataTable value="#{accountsBean.musicboxes}"  var="currentMusicBox">               
                <rich:column>
                        <h:graphicImage id="expand" value="../AccountsForms/images/details_open.png" onclick="toggleNotes(this);" />
                        <rich:column><h:outputText value="#{currentMusicBox.name}" /></rich:column>
                        <rich:column><h:outputText value="#{currentMusicBox.username}" /></rich:column>
                        <rich:column><h:outputText value="#{currentMusicBox.password}" /></rich:column>
                        <rich:column><h:outputText value="#{currentMusicBox.location}" /></rich:column>
                            <rich:dataTable id="notesTable" value="#{currentMusicBox.notes}" var="currentNote" style="display: none;">
                                <rich:column><h:outputText value="#{currentNote.body}" /></rich:column>
                                <rich:column><h:outputText value="#{currentNote.dateAdded}" /></rich:column>
                                <rich:column><h:outputText value="#{currentNote.note_type}" /></rich:column>
                            </rich:dataTable>
                 </rich:column>
        </rich:dataTable>

问题是我的表中只有第一个条目显示正常。它在桌子上,我可以切换图像的笔记。其余的条目只是一个接一个(没有格式化的外部表格。单击图像将打开一个表格,其中相关的注释格式正确

3 个答案:

答案 0 :(得分:2)

不确定

使用

<rich:dataTable value="#{myBean.records}" var="myRecord">

<rich:subTable  rendered="#{myRecord.subValue != null}" 
 value="#{myRecord.subValue}" >
...
</rich:subTable>
</rich:dataTable>

bean中的位置:

public List<Records> getRecords() {
        return records;
}

Records类有子记录subValues

答案 1 :(得分:1)

现在,您可以使用<rich:collapsibleSubTable>组件在RichFaces 4中执行此操作。

答案 2 :(得分:0)

<rich:dataTable id="calltable" value="#{accountsBean.musicboxes}"
                var="currentMusicBox">
    <rich:column id="suitable" colspan="12" width="0" breakBefore="true"
                 style="border-color: #549FBE; border-style: solid; border-width: 1px;
                 display: #{!VwCallListServiceBean.show?'none':'show'};">
        <rich:dataTable value="#{currentMusicBox.notes}" var="currentNote"
                        border="0" rules="none"
                        style="border: none; margin: 0px; padding: 0px;">
            <rich:column width="800px" style="border: none; margin: 0px; padding: 0px;"
                         colspan="12">
                <span style="color: #3A84A7;">
                    â–º
                </span>
                <h:outputText value=" #{currentNote.body}"/>
            </rich:column>
        </rich:dataTable>
    </rich:column>
</rich:dataTable>

我已根据您的要求使用此修改....