AD
Administrator
Syncfusion Team
March 2, 2004 04:46 PM UTC
The grid just reflects what the datasource does. So, if the datasource sorts the new values, the grid displays them sorted.
If you grid is sorted, then when new data is saved, it will automatically be position properly with respect to sort order. The only way to avoid this without going to historic effects is to not have the data sorted when you want to edit it.
GG
Gene Gorokhovsky
March 16, 2004 12:50 PM UTC
Actually the fact that edited and new record "jump" around when user edits them and datasource is sorted is slighly annoying.
Here is a way to work around that:
*Create a class derived from DataView.
*In it, add an integer column to your datasource.
*Override IBdindingList.ApplySort to sort by requested column, then copy row numbers into this new special "sort freezer" column. Set sort internally to be on that column, instead of the one passed to ApplySort.
*override other IBindingList interfaces to correctly report publicly visible sort order.
If you bind to this derived DataView, edited and new rows are not going to jump until user explicitly clicks column header.
I have attached a code fragment that implements
the idea outlined above.
Gene
> The grid just reflects what the datasource does. So, if the datasource sorts the new values, the grid displays them sorted.
>
> If you grid is sorted, then when new data is saved, it will automatically be position properly with respect to sort order. The only way to avoid this without going to historic effects is to not have the data sorted when you want to edit it.
AD
Administrator
Syncfusion Team
April 26, 2005 03:08 PM UTC
Couldn''t find the attached file.
>Actually the fact that edited and new record "jump" around when user edits them and datasource is sorted is slighly annoying.
>
>Here is a way to work around that:
>*Create a class derived from DataView.
>*In it, add an integer column to your datasource.
>*Override IBdindingList.ApplySort to sort by requested column, then copy row numbers into this new special "sort freezer" column. Set sort internally to be on that column, instead of the one passed to ApplySort.
>*override other IBindingList interfaces to correctly report publicly visible sort order.
>
>If you bind to this derived DataView, edited and new rows are not going to jump until user explicitly clicks column header.
>
>I have attached a code fragment that implements
>the idea outlined above.
>
>Gene
>
> > The grid just reflects what the datasource does. So, if the datasource sorts the new values, the grid displays them sorted.
>>
>> If you grid is sorted, then when new data is saved, it will automatically be position properly with respect to sort order. The only way to avoid this without going to historic effects is to not have the data sorted when you want to edit it.
>
AD
Administrator
Syncfusion Team
April 26, 2005 08:23 PM UTC
Hi Bits,
Here is the link to the file:
http://64.78.52.104/Support/Forums/Uploads/GridDataView.zip
Best regards,
Jay N