Сводная строка JSF DataTable - PullRequest
0 голосов
/ 14 апреля 2020

Я должен указать в сумме много столбцов, обобщающих результаты, и в jsf datatable я не могу это сделать, кто-то знает, как я могу это сделать? без использования простых лиц

я получил этот результат

<h:dataTable id="tableResult" value="#{managedBean.dataModel}"
                                    var="obj" rows="15" layout="block" styleClass="table">
    <h:column>
            <f:facet name="header">Total abandonada</f:facet>
            <h:outputText value="#{obj.totalAbandon}">
            </h:outputText>
        </h:column>
        <h:column>
            <f:facet name="header">Total</f:facet>
            <h:outputText value="#{obj.total}" />

        </h:column>
        <h:column>
            <f:facet name="header"> Atendidas %</f:facet>
            <h:outputText value="#{obj.percentualAnswered}%" />
        </h:column>
        <h:column>
            <f:facet name="header">Abandonos %</f:facet>
            <h:outputText value="#{obj.percentualAbandon}%" />
        </h:column>
        <f:facet name="footer">#{obj.suumary}
        </f:facet>
</h:dataTable>

чтобы получить этот результат, используя

<f:facet name="footer">Total : 2</f:facet>

, но я хочу этот результат

<tr>
<td>Total : 2</td> 
<td>Total answered : 1</td>
<td>Total abandon : 1</td>
</tr>
</tfoot>

я пробовал использовать 2 нижний колонтитул и не работает

1 Ответ

0 голосов
/ 14 апреля 2020

Обычный JSF h:datatable не имеет понятия что-то вроде сводки для каждой встроенной группы строк. Так что если это то, что вам нужно, вам нужно либо переключиться, например, на PrimeFaces, либо добавить строку сводки в вашу модель в правильном месте и будьте творческими с CSS для строк и содержания.

Если вам нужен нижний колонтитул для полной таблицы данных, фасет нижнего колонтитула является правильным (краткое описание таблицы данных). Но в этом нижнем колонтитуле вы не можете использовать переменную, назначенную вами в атрибуте var, в вашем случае obj Подумайте, какой obj следует использовать? Первый? Во-вторых? Прошлой? Все (каждый)? Поэтому добавьте поле к managedBean, содержащее «сводку», и отобразите его.

<f:facet name="footer">#{manageBean.summary}</f:facet>

Если summary является списком, вы можете перебирать его, как указано в Перебирать по вложенным Свойство списка внутри h: datatable

html, который вы в конечном итоге получите

<tfoot>
   <tr> 
       <td>
          .... your content of the nested list
       </td>
   </tr>
</tfoot>

Это может быть таблица, список, элементы div или что угодно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...