or
<Grid> <Grid.Resources> <Style x:Key="ItemContainerStyle" TargetType="{x:Type telerik:RadTreeViewItem}"> <Setter Property="IsSelected" Value="{Binding Path=IsSelected, Mode=TwoWay}" /> </Style> <HierarchicalDataTemplate x:Key="TreeViewItemTemplate" ItemsSource="{Binding TreeViewItemChildren}"> <StackPanel Orientation="Horizontal"> <telerik:RadContextMenu.ContextMenu> <telerik:RadContextMenu> <telerik:RadMenuItem Header="Add to bookmarks" /> </telerik:RadContextMenu> </telerik:RadContextMenu.ContextMenu> <Image Margin="0,0,2,0" Height="16" Width="16"> <Image.Style> <Style TargetType="Image"> <Style.Triggers> <DataTrigger Binding="{Binding IconType}" Value="Folder"> <Setter Property="Source" Value="{StaticResource Folder}"></Setter> </DataTrigger> <DataTrigger Binding="{Binding IconType}" Value="MultiPubReport"> <Setter Property="Source" Value="{StaticResource MultiPubReport}"></Setter> </DataTrigger> <DataTrigger Binding="{Binding IconType}" Value="SinglePubReport"> <Setter Property="Source" Value="{StaticResource SinglePubReport}"></Setter> </DataTrigger> <DataTrigger Binding="{Binding IconType}" Value="Publication"> <Setter Property="Source" Value="{StaticResource Publication}"></Setter> </DataTrigger> </Style.Triggers> </Style> </Image.Style> </Image> <TextBlock Text="{Binding Name}"></TextBlock> </StackPanel> </HierarchicalDataTemplate> <HierarchicalDataTemplate x:Key="TreeViewTemplate"> <telerik:RadTreeView x:Name="ReportsTreeView" ItemsSource="{Binding TreeViewItemChildren}" ItemTemplate="{StaticResource TreeViewItemTemplate}" IsLineEnabled="True" IsDragDropEnabled="True" PreviewDragEnded="ReportsTreeView_PreviewDragEnded" SelectionMode="Single" ItemContainerStyle="{StaticResource ItemContainerStyle}"> </telerik:RadTreeView> </HierarchicalDataTemplate> <HierarchicalDataTemplate x:Key="PanelBarItemTemplate" ItemsSource="{Binding TreeViewItemViewModels}" ItemTemplate="{StaticResource TreeViewTemplate}" > <TextBlock Text="{Binding Name}"></TextBlock> </HierarchicalDataTemplate> </Grid.Resources> <telerik:RadPanelBar x:Name="ReportMenu" ExpandMode="Multiple" ItemTemplate="{StaticResource PanelBarItemTemplate}" VerticalAlignment="Top"> </telerik:RadPanelBar> </Grid>
private void gridView_Sorting(object sender, GridViewSortingEventArgs e) { try { if (schedules == null) { e.Cancel = true; return; } if (e.OldSortingState == SortingState.Ascending) { e.NewSortingState = SortingState.Descending; schedules = schedules.OrderByDescending(s => s.Role).ThenBy(s => s.Name).ToList(); } else if (e.OldSortingState == SortingState.Descending) { schedules = schedules.OrderByDescending(s => s.Name).ToList(); e.NewSortingState = SortingState.None; } else { e.NewSortingState = SortingState.Ascending; schedules = schedules.OrderBy(s => s.Role).ThenBy(s => s.Name).ToList(); } this.radDataPager.Source = schedules; //e.DataControl.ItemsSource = this.radDataPager.Source; // replaced by the next line which is the same thing. this.gridView.ItemsSource = this.radDataPager.Source; this.gridView.Items.Refresh(); this.radDataPager.PageIndex = 0; e.Cancel = true; } catch (Exception ex) { txtStatus.Text = "Erorr in gridView_Sorting:"+ex.Message; } }