The GridDataSource has control over sorting. If you provide an instance of GridDataSource as the source parameter, rather than a List, you'll have the control you need.
On Wed, Jul 30, 2008 at 11:38 AM, Moritz Gmelin <[EMAIL PROTECTED]> wrote: > OK, > > but then I would have to dramatically change all models I use for grids. To > use some transient properties of the data returning CaseInsensitiveStrings > for the actual property I wanted to display. > I was rather hoping for some very T5-like-elegant way to either replace the > default Comparator for certain object types. Just as I can replace the > renderer of certain types by providing a new renderer. > > Any other ideas? > > M. > > > Am 30.07.2008 um 16:30 schrieb Daniel Jue: > >> Here is one way to do it: >> >> For the object associated with the column you want to sort, you >> override the comparable method. I am not sure if there is an existing >> JDK Object for "case-insensitive String", but you could create one. >> Overriding comparable is how you do the custom sorting. There are >> probably other ways of doing this. >> >> Stolen from the web: >> public final class CaseInsensitiveString implements Comparable { >> private String s; >> >> public CaseInsensitiveString(String s) { >> if (s == null) >> throw new NullPointerException(); >> this.s = s; >> } >> >> public boolean equals(Object o) { >> return o instanceof CaseInsensitiveString && >> ((CaseInsensitiveString)o).s.equalsIgnoreCase(s); >> } >> >> // Lazily initialized, cached hashCode - page 40 >> private volatile int hashCode = 0; // (See Item 48) >> >> public int hashCode() { >> if (hashCode == 0) >> hashCode = s.toUpperCase().hashCode(); >> >> return hashCode; >> } >> >> public int compareTo(Object o) { >> CaseInsensitiveString cis = (CaseInsensitiveString)o; >> return String.CASE_INSENSITIVE_ORDER.compare(s, cis.s); >> } >> >> public String toString() { >> return s; >> } >> } >> >> On Wed, Jul 30, 2008 at 6:15 AM, Moritz Gmelin <[EMAIL PROTECTED]> >> wrote: >>> >>> Hi, >>> >>> If I wanted to change the sorting system of a grid colum. e.g ignore >>> lower/uppercase for sorting. >>> How could I do this? >>> >>> Regards >>> >>> Moritz >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]