тег отображения, группировка и пустые строки - PullRequest
1 голос
/ 10 ноября 2008

Я ищу способ сделать группировку с displaytag , но с названием группы, отделенным от деталей. Наверное, не все так ясно, поэтому вот пример:

Если я просто добавлю группы в таблицу displaytag, я получу что-то вроде:

| group1 | item1 |
|        | item2 |
|        | item3 |
| group2 | item4 |
|        | item5 |

Я бы хотел что-то вроде:

| group1 |       | 
|        | item1 |
|        | item2 |
|        | item3 |
| group2 |       |
|        | item4 |
|        | item5 |

Я ничего не могу найти в документации. Кто-нибудь знает, есть ли обходной путь? Или я должен просто вернуться к простому, рукописному JTSL?

1 Ответ

1 голос
/ 10 июня 2009

Извините, что опоздал на вечеринку на 7 месяцев, но попробуйте использовать декоратор MultilevelTotalTableDecorator, он генерирует пустую строку, как вы и просили, но это действительно побочный эффект от того, что декоратор должен делать. Вам придется поиграться с другими вариантами, чтобы заставить его делать то, что вы хотите.

<%
        // you can do this as a scriptlet on the page, but i put it into a taglib...
        org.displaytag.decorator.MultilevelTotalTableDecorator subtotals = new org.displaytag.decorator.MultilevelTotalTableDecorator();
        subtotals.setGrandTotalDescription("&nbsp;");    // optional, defaults to Grand Total
        subtotals.setSubtotalLabel("&nbsp;", null);
        pageContext.getRequest().setAttribute("subtotaler", subtotals);
%>
<display:table name="contacts" id="contactRow" defaultsort="1" defaultorder="ascending" decorator="subtotaler">
    <display:column property="contactType" title="Contact Type" total="true" group="1"/>
    <display:column property="contactDate" format="{0,date,MM/dd/yyyy}" title="Date" />
    <display:column property="contactName" title="Name" />
    <display:column property="contactPhone" title="Phone" />
    <display:column property="contactEmail" title="Email" />
</display:table>
...