or
| // Add grouping according to device, then parameter category |
| MainGrid.GroupDescriptors.Add( |
| new GroupDescriptor() |
| { |
| Member = "OwnerContainer", |
| SortDirection = ListSortDirection.Ascending |
| }); |
| MainGrid.GroupDescriptors.Add( |
| new GroupDescriptor() |
| { |
| Member = "ParameterCategory", |
| SortDirection = ListSortDirection.Ascending |
| }); |
| public class DataSource : DependencyObject |
| { |
| public List<DataSource> Children { get; set; } |
| public string Name { get; set; } |
| public DataSource() |
| { |
| Children = new List<DataSource>(); |
| } |
| } |
| <Window.Resources> |
| <local:DataSource x:Key="DataSource"> |
| <local:DataSource.Children> |
| <local:DataSource Name="1"> |
| <local:DataSource.Children> |
| <local:DataSource Name="2"> |
| <local:DataSource.Children> |
| <local:DataSource Name="3"> |
| <local:DataSource.Children> |
| <local:DataSource Name="4"/> |
| </local:DataSource.Children> |
| </local:DataSource> |
| </local:DataSource.Children> |
| </local:DataSource> |
| </local:DataSource.Children> |
| </local:DataSource> |
| </local:DataSource.Children> |
| </local:DataSource> |
| </Window.Resources> |
| <telerik:RadTreeView ItemsSource="{Binding Path=Children, Source={StaticResource DataSource}}" IsEditable="True"> |
| <telerik:RadTreeView.ItemTemplate> |
| <HierarchicalDataTemplate ItemsSource="{Binding Path=Children}"> |
| <TextBlock Text="{Binding Path=Name}"/> |
| </HierarchicalDataTemplate> |
| </telerik:RadTreeView.ItemTemplate> |
| <telerik:RadTreeView.ItemEditTemplate> |
| <DataTemplate> |
| <TextBox Text="{Binding Path=Name, Mode=TwoWay}"/> |
| </DataTemplate> |
| </telerik:RadTreeView.ItemEditTemplate> |
| </telerik:RadTreeView> |

| Private Sub radGridViewSelection_SelectionChanged(ByVal sender As Object, ByVal e As Telerik.Windows.Data.SelectionChangeEventArgs) |
| label1.Content = radGridViewSelection.SelectedRecord.Fields("CustomerID").ToString |
| End Sub |

| radGridViewDataBinding.FilterDescription = null; |
| radGridViewDataBinding.GroupDescriptions.Clear(); |
| radGridViewDataBinding.SortDescriptions.Clear(); |
| radGridViewDataBinding.Columns.Clear(); |
| radGridViewDataBinding.AutoGenerateColumns = true; |
| radGridViewDataBinding.ItemsSource = null; |
| radGridViewDataBinding.ItemsSource = GetXmlData(); |