hi again Mike,

Mike <[EMAIL PROTECTED]> wrote on 12/30/2005 11:50:17 AM:

> Thanks for the info. I'm a little closer, but I'm still having problems.
>

>
>  <h:column>
>   f:facet name="header">
>   <t:commandSortHeader columnName="personName" arrow="true" >                
>     <h:outputText value="#{msgs.PersonName}" />
>       </t:commandSortHeader>                            
>      </f:facet>                                  
>     <h:outputText value="#{update.personName}" />
>    </h:column>
>
> I'd be almost done if I could just get clicking on the header to
> actually set the sortColumn property.
>
> Thanks again for any suggestions.
>
>     Mike

First, since you have a columnName as "personName", your sort method should have something like this:
if (column.equals("personName")) {
        return ascending ? c1.personName().compareTo(
                c2.getPersonName()) : c2.PersonName().compareTo(c1.PersonName());

Do you?

Also in my bean I have code like this for sorting against "lastname" column. Maybe you can check your code for something like this too?

        private String _sort; //with getter and setter

        private boolean _ascending; //with getter and setter

        public SearchBean() {
                _sort = "lastname";
                _ascending = isDefaultAscending("lastname");
        }

        public SearchBean(String defaultSortColumn) {
                _sort = defaultSortColumn;
                _ascending = isDefaultAscending(defaultSortColumn);
        }

        protected boolean isDefaultAscending(String sortColumn) {
                return true;
        }
        public void sort(String sortColumn) {
                if (sortColumn == null) {
                        throw new IllegalArgumentException(
                                        "Argument sortColumn must not be null.");
                }

                if (_sort.equals(sortColumn)) {
                        // current sort equals new sortColumn -> reverse sort order
                        _ascending = !_ascending;
                } else {
                        // sort new column in default direction
                        _sort = sortColumn;
                        _ascending = isDefaultAscending(_sort);
                }

                sort(_sort, _ascending);
        }

regards,
Geeta

Reply via email to