2011-08-02 3 views
0

Im using displaytag для создания отчетов. В нижнем колонтитуле отчета я хотел бы показать среднюю сумму пары моих столбцов. Средняя сумма «pris» и «dekningsprosent».Displaytag footer average

Возможно ли это с помощью displaytag? Я видел, что есть метод подсчета итогов, но я не могу найти среднее.

Надеюсь, вы, ребята, можете помочь! Вот мой код:

<display:table name="rapportList" class="table" requestURI="" id="rapportList" export="true" pagesize="25"> 

<display:column property="leilighetId" sortable="true" titleKey="report.header.leilighetId"/> 
<display:column property="pris" sortable="true" titleKey="report.header.price" format="{0,number,currency}"/> 
<display:column property="dekningProsent" sortable="true" titleKey="report.header.coverage" format="{0,number,percent}"/> 

<display:footer> 
    //What goes in here to get the average? 
</display:footer> 
</display> 

Заранее благодарен!

+0

Вы уже попробовать эту функцию? http://demo.displaytag.org/displaytag-examples-1.2/example-columnsummation.jsp –

+0

Если вы избегаете тега отображения и используете тег итератора struts, это сделает проблему более явной (есть меньше магии, а EL/Решение OGNL может быть предоставлено). Вы могли бы сократить среднее значение в действии. Вы также можете решить проблему с помощью jQuery. – Quaternion

ответ

1

Попробуйте это: в ваших displayTag деклараций

, вы кладете varTotals свойства:

<display:table name="rapportList" class="table" requestURI="" id="rapportList" export="true" pagesize="25" varTotals="myTotalValue"> 

и после этого вы должны в каждом столбце вы хотите просуммировать свойство total="true":

<display:column property="pris" sortable="true" titleKey="report.header.price" format="{0,number,currency}"/> 

Последний шаг - сделать ваш нижний колонтитул полученными суммами, например:

<display:footer> 
    <td>${myTotalValue.column2}</td> 
</display:footer> 

Не стоит забывать, что число столбцов в этом случае начинается с одного, а не нулевой, как шаблоны массивов