Sorting DataGrid via SqlCeResultSet verses DataTable?

J

Jen

I have used the code below in the past to sort a data grid column. Now I'm
using a SqlCeResultSet as my DataSource for the grid.



Since the SqlCeResultSet is new to me I was hoping someone could point out
what needs to be converted to support using a resultset instead of a
DataTable.



Thanks!



// Sort grid by column
void SortGrid(int col)
{


if (this.DataSource is DataTable)
this.DataSource = (this.DataSource as
DataTable).DefaultView;


DataView vw = (DataView)this.DataSource;
string sort = vw.Table.Columns[col].ColumnName;

if (vw.Sort.StartsWith(sort))
{
if (vw.Sort.EndsWith("ASC"))
vw.Sort = sort + " DESC";
else
vw.Sort = sort + " ASC";
}

else
{
vw.Sort = sort + " ASC";
}
}
 
I

Ilya Tumanov [MS]

You can not sort/filter RS. You have to get new sorted/filtered RS using
respective SQL query and bind it to the grid.

Don't forget to dispose of an old RS.


Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no rights.

*** Want to find answers instantly? Here's how... ***

1. Go to
http://groups-beta.google.com/group/microsoft.public.dotnet.framework.compactframework?hl=en
2. Type your question in the text box near "Search this group" button.
3. Hit "Search this group" button.
4. Read answer(s).
 
J

Jen

Thanks

You saved me alot of time ;)

Ilya Tumanov said:
You can not sort/filter RS. You have to get new sorted/filtered RS using
respective SQL query and bind it to the grid.

Don't forget to dispose of an old RS.


Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no
rights.

*** Want to find answers instantly? Here's how... ***

1. Go to
http://groups-beta.google.com/group/microsoft.public.dotnet.framework.compactframework?hl=en
2. Type your question in the text box near "Search this group" button.
3. Hit "Search this group" button.
4. Read answer(s).

Jen said:
I have used the code below in the past to sort a data grid column. Now I'm
using a SqlCeResultSet as my DataSource for the grid.



Since the SqlCeResultSet is new to me I was hoping someone could point
out what needs to be converted to support using a resultset instead of a
DataTable.



Thanks!



// Sort grid by column
void SortGrid(int col)
{


if (this.DataSource is DataTable)
this.DataSource = (this.DataSource as
DataTable).DefaultView;


DataView vw = (DataView)this.DataSource;
string sort = vw.Table.Columns[col].ColumnName;

if (vw.Sort.StartsWith(sort))
{
if (vw.Sort.EndsWith("ASC"))
vw.Sort = sort + " DESC";
else
vw.Sort = sort + " ASC";
}

else
{
vw.Sort = sort + " ASC";
}
}
 
D

Darren Shaffer

Jen,

The ResultSetView, unlike the DataView, does not expose a Sort member, but
does implement the IBindingList interface and exposes an ApplySort method

which you could implement. Sorry I don't have a sample of that handy, but

there are examples of implementing ApplySort on the web.

--
Darren Shaffer
..NET Compact Framework MVP
Principal Architect
Connected Innovation
www.connectedinnovation.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top