如何在ICEfaces中的另一个数据表中添加数据表

时间:2011-09-13 11:35:07

标签: java jsf icefaces

我有两个数据表,第二个依赖于一个。我到目前为止所做的是,当我点击第一个表的第二个表时,第二个表显示了所选行的相应值。

我想要做的是首先将第二个数据表放在内部,当我点击一行(第一个表)时,第二个数据表应该出现在下一行,也应该出现在第二个数据表的末尾,第一个数据表应该继续

我不知道该怎么做,请帮忙

<ice:dataTable id="fdf001" border="3" value="#{showDetails.showArr}" var="item">


    <ice:column id="column1">
    <ice:rowSelector  id="IdRowSelector"  
                            selectionListener="#{showDetails.rowSelectionEvent}"
                            value="#{item.selected}"  selectedClass="tableRowSelected" mouseOverClass="tableRowMouseOver">
    </ice:rowSelector>

        <f:facet name="header">
            <ice:outputText style="font-size: 13px; color: blue" value="Machine Name"></ice:outputText>
        </f:facet>
        <ice:outputText value="#{item.machineName}"></ice:outputText>
    </ice:column>

    <ice:column id="column2">
        <f:facet name="header">
            <ice:outputText style="font-size: 13px; color: blue" value="Status"></ice:outputText>
        </f:facet>
        <ice:outputText value="#{item.status}"></ice:outputText>
    </ice:column>

    <ice:column id="column3">
        <f:facet name="header">
            <ice:outputText style="font-size: 13px; color: blue" value="Environment Client Database Instance"></ice:outputText>
        </f:facet>
        <ice:outputText value="#{item.envClientDbInstance}"></ice:outputText>
    </ice:column>           

</ice:dataTable> 



<ice:dataTable id="subTable" border="2" value="#{showDetails.modArr}" var="sub">
    <ice:column id="sub1">
        <f:facet name="header">
            <ice:outputText style="font-size: 13px; color: blue" value="Artifact Id"/>
        </f:facet>
        <ice:outputText value="#{sub.artifactId}"/>
    </ice:column>

    <ice:column id="sub2">
        <f:facet name="header">
            <ice:outputText style="font-size: 13px; color: blue" value="Group Id"/>
        </f:facet>
        <ice:outputText value="#{sub.groupId}"/>
    </ice:column>

    <ice:column>
        <f:facet name="header">
            <ice:outputText style="font-size: 13px; color: blue" value="Version"/>
        </f:facet>
        <ice:outputText value="#{sub.version}"/>
    </ice:column>
</ice:dataTable>

2 个答案:

答案 0 :(得分:0)

您正在寻找的功能在icefaces的标准数据表中不可用。它适用于企业组件 - 富数据网格

可能你可以切换到数据网格。

否则您肯定可以拥有可扩展表。您会找到'为什么以及如何'here

答案 1 :(得分:0)

你能做到的。有可能的。 你只需要有类的结构:

class showDetails{

 List<Information> showArr; // also create setter/getter

}

class information{
  List<SubInfo> showSub;

}

现在你需要做的只是在父数据表的列中创建数据表 并将currentRow.showSub传递给子DataTable。