I posted this patch to displaytag-devel on the 19th that provides this
feature. Don't know if it's been accepted into the base or not.
On Sat, 2003-12-27 at 13:21, John Alchin wrote:
> I know this has already been asked about, but I never saw the thread
> resolved. Are there plans to provide a way to specify the default
> sort order (asc / desc) of a column? Anyone know of any work-around
> until this gets added?
>
> Thanks,
> John
Index: src/java/org/displaytag/tags/TableTag.java
===================================================================
RCS file: /cvsroot/displaytag/displaytag2/src/java/org/displaytag/tags/TableTag.java,v
retrieving revision 1.20
diff -u -r1.20 TableTag.java
--- src/java/org/displaytag/tags/TableTag.java 8 Dec 2003 19:05:47 -0000 1.20
+++ src/java/org/displaytag/tags/TableTag.java 19 Dec 2003 21:05:05 -0000
@@ -207,6 +207,8 @@
* the index of the column sorted by default
*/
private int defaultSortedColumn = -1;
+
+ private String defaultSortOrder = "asc";
/**
* static footer added using the footer tag
@@ -328,6 +330,10 @@
}
}
+
+ public void setDefaultsortorder(String value) {
+ this.defaultSortOrder = value;
+ }
/**
* sets the number of items that should be displayed for a single page
@@ -668,7 +674,7 @@
this.tableModel.setSortFullTable(this.sortFullTable);
Integer paramOrder = requestHelper.getIntParameter(encodeParameter(TableTagParameters.PARAMETER_ORDER));
- boolean order = !(new Integer(TableTagParameters.VALUE_SORT_DESCENDING).equals(paramOrder));
+ boolean order = (paramOrder == null) ? !("dsc".equalsIgnoreCase(this.defaultSortOrder)) : !(new Integer(TableTagParameters.VALUE_SORT_DESCENDING).equals(paramOrder));
this.tableModel.setSortOrderAscending(order);
// if the behaviour is sort full page we need to go back to page one if sort of order is changed
Index: src/tld/displaytag-12.tld
===================================================================
RCS file: /cvsroot/displaytag/displaytag2/src/tld/displaytag-12.tld,v
retrieving revision 1.5
diff -u -r1.5 displaytag-12.tld
--- src/tld/displaytag-12.tld 14 Dec 2003 21:41:45 -0000 1.5
+++ src/tld/displaytag-12.tld 19 Dec 2003 21:05:05 -0000
@@ -234,6 +234,13 @@
<type>int</type>
<description>The index of the column that will be used by default for sorting</description>
</attribute>
+ <attribute>
+ <name>defaultsortorder</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ <description>Sort order used by defaultsort column; either asc (ascending) or dsc (descending)</description>
+ </attribute>
<example>
<display:table name="someList" export="true" id="row" requestURI="MyAction.do">
<display:column sortable="true" title="ID"> <c:out value="${row.id}"/> </display:column>