I've got the following radgridview control with a default sort descriptor on it:
<telerik:RadGridView x:Name="rgvMain" VerticalAlignment="Top" AutoGenerateColumns="False" CanUserResizeRows="False" CanUserInsertRows="False" CanUserSortGroups="False" ShowGroupPanel="False" RowIndicatorVisibility="Collapsed" ItemsSource="{Binding CurrentActivities}" Visibility="{Binding CurrentActivitiesVisibility}"> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn DataMemberBinding="{Binding DateAndTimeLogged}" Header="Date Logged" UniqueName="LogDate" Width="Auto" IsReadOnly="True" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding TypeDescription}" Header="Type" UniqueName="TypeDescription" Width="Auto" IsReadOnly="True"/> <telerik:GridViewDataColumn DataMemberBinding="{Binding ActivityStudent.FullName}" Header="Student" UniqueName="StudentName" Width="Auto" IsReadOnly="True" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding ActivityStudent.Family.Name}" Header="Family" UniqueName="FamilyName" Width="Auto" IsReadOnly="True"/> <telerik:GridViewDataColumn DataMemberBinding="{Binding ActivityText}" Header="Report" UniqueName="Report" Width="Auto" IsReadOnly="True"/> </telerik:RadGridView.Columns> <telerik:RadGridView.SortDescriptors> <telerik:ColumnSortDescriptor Column="{Binding Columns[LogDate], ElementName=rgvMain}" SortDirection="Descending"/> </telerik:RadGridView.SortDescriptors> </telerik:RadGridView>
The ItemsSource is bound to:
public ObservableCollection<Activity> CurrentActivities{ get { return new ObservableCollection<Activity>(Utils.AllActivities.Where(x => x.LoggedUser == Utils.glbCurrentlyLoggedInUser)); }}
Whenever the usercontrol is first loaded - the sortdescriptors work, but then any future loads of the usercontrol, the sortdescriptors/filters get lost - I've tried adding a Rebind to the GV on the usercontrol loaded but this doesn't make a difference.