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>
 &lt;display:table name="someList" export="true" id="row" requestURI="MyAction.do"&gt;
   &lt;display:column sortable="true" title="ID"&gt; &lt;c:out value="${row.id}"/&gt; &lt;/display:column&gt;

Reply via email to