Как добавить набор данных в другой набор данных в ICEfaces - PullRequest
0 голосов
/ 13 сентября 2011

У меня есть два типа данных, второй зависит от одного. То, что я сделал до сих пор, - когда я щелкнул строку первой таблицы, вторая таблица показывает соответствующее значение для выбранной строки.

То, что я хочу сделать, это сделать эту вторую таблицу данных внутри первой, и когда я щелкаю строку (первую таблицу), вторая таблица данных должна появляться из следующей строки, а также в конце второй таблицы данных первая таблица данных должна продолжаться. .

Я не знаю, как это сделать, пожалуйста, помогите

<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 голосов
/ 16 апреля 2013

Ну, вы можете сделать.Это возможно.Вам просто нужно иметь структуру класса, например:

class showDetails{

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

}

class information{
  List<SubInfo> showSub;

}

Теперь вам нужно просто создать таблицу данных внутри столбца Parent dataTable и передать currentRow.showSub в sub DataTable.

0 голосов
/ 13 сентября 2011

Функция, которую вы ищете, недоступна в стандартной таблице данных в Icefaces. Он доступен с корпоративным компонентом - расширенная сетка данных .

Вероятно, вы можете переключиться на сетку данных для этого.

В противном случае у вас наверняка может быть расширяемая таблица . Вы найдете «почему и как» здесь

...