ObjectDataSource and GridView SortExpression with multiple columns problem

  • Thread starter Thread starter Bogdan
  • Start date Start date
B

Bogdan

Hi,

I've spent some time reading articles on gridview sorting when sort
expression consists of multiple columns. I have to say that I'm as confused
as ever.

Could someone please help me out on this one? What do I need to do in order
to utilize GridView's auto-sorting and be able to set the sort expression to
multiple columns?

Some articles mentioned that if I set SortExpression="column1,column2" and
try to sort in descending order then GV passes an expression of the
following format to the data source object: "column1, column2 DESC" and this
is why descending sort is never applied to the first column? Could someone
please confirm this? Is there an 'official' doc from MS that deals with it?

If the above is true, is there a workaround/solution?

I'd appreciate _any_ suggestions.
Thanks,
Bogdan
 
Hi,

I've spent some time reading articles on gridview sorting when sort
expression consists of multiple columns.  I have to say that I'm as confused
as ever.

Could someone please help me out on this one?  What do I need to do in order
to utilize GridView's auto-sorting and be able to set the sort expressionto
multiple columns?

Some articles mentioned that if I set SortExpression="column1,column2" and
try to sort in descending order then GV passes  an expression of the
following format to the data source object: "column1, column2 DESC" and this
is why descending sort is never applied to the first column?  Could someone
please confirm this?  Is there an 'official' doc from MS that deals with it?

If the above is true, is there a workaround/solution?

I'd appreciate _any_ suggestions.
Thanks,
Bogdan

Hi Bogdan

This is true. The SortExpression property is a string and could
contain a comma-separated list of the fields by which to sort. The
SortDirection property used a SortDirection datatype and could contain
one of two SortDirection values: Ascending or Descending. So, when
GridView has multiple columns to sort, then SortExpression property
contains a list and SortDirection just one possible value and a
GridView generates something like this

"FirstName, LastName DESC"-- where first column is still sorted in
ascending order.

I found this a bit stupid but this is the way it works

MSDN:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.sortexpression.aspx
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.sortdirection.aspx

Here's an example of how to do a workaround
http://aspalliance.com/666_Extending_the_GridViews_Sorting_Capabilities.all

Hope this helps
 
Back
Top