or
| <HierarchicalDataTemplate x:Key="GroupListNestedContentTemplate"> |
| <bui:UserControlForBottomClass/> |
| </HierarchicalDataTemplate> |
| <HierarchicalDataTemplate x:Key="GroupListNestedTemplate" ItemsSource="{Binding BottomClass}" ItemTemplate="{StaticResource GroupListNestedContentTemplate}"> |
| <bui:UserControlForMiddleLevel /> |
| </HierarchicalDataTemplate> |
| <HierarchicalDataTemplate x:Key="GroupListTemplate" ItemsSource="{Binding MiddleList}" ItemTemplate="{StaticResource GroupListNestedTemplate}"> |
| <bui:UserControlForTopLevel/> |
| </HierarchicalDataTemplate> |
| <Controls:RadTreeView x:Name="UiElement" DataContext="{Binding}" ItemsSource="{Binding}" ItemTemplate="{StaticResource GroupListTemplate}" IsDragDropEnabled="True" IsSingleExpandPath="True" IsExpandOnSingleClickEnabled="True" /> |
Hi
Is there property for the rows number (IsRowsNumbersEnable) or I need to build it myself like in the Sample?
Best regards
Ehud
| <Window x:Class="HeirarchicalGridExample.MainWindow" |
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
| xmlns:telerikGrid="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView" |
| xmlns:telerikData="clr-namespace:Telerik.Windows.Data;assembly=Telerik.Windows.Data" |
| Title="MainWindow" Height="350" Width="525"> |
| <Grid> |
| <telerikGrid:RadGridView x:Name="RadGridView1" ItemsSource="{Binding}" DataLoading="RadGridView1_DataLoading" RowLoaded="RadGridView1_RowLoaded" /> |
| </Grid> |
| </Window> |
| using System; |
| using System.Collections.Generic; |
| using System; |
| using System.Collections.Generic; |
| using System.Linq; |
| using System.Windows; |
| using System.Windows.Data; |
| using Telerik.Windows.Controls.GridView; |
| using Telerik.Windows.Controls; |
| using Telerik.Windows.Data; |
| namespace HeirarchicalGridExample |
| { |
| /// <summary> |
| /// Interaction logic for MainWindow.xaml |
| /// </summary> |
| public partial class MainWindow : Window |
| { |
| public MainWindow() |
| { |
| InitializeComponent(); |
| DataContext = from i in Enumerable.Range(0, 5) |
| select new MyObject() |
| { |
| ID = i, |
| Name = String.Format("Name{0}", i), |
| Level = 1 |
| }; |
| } |
| public class MyObject |
| { |
| public int ID { get; set; } |
| public string Name { get; set; } |
| public int Level { get; set; } |
| public IEnumerable<MyObject> Items |
| { |
| get |
| { |
| if (ID == 1 || ID == 3 || ID == 5 || ID == 7) |
| { |
| return from i in Enumerable.Range(0, 10) |
| select new MyObject() |
| { |
| ID = i, |
| Name = String.Format("{0}", Name + " - " + i.ToString()), |
| Level = Level + 1 |
| }; |
| } |
| else |
| return Enumerable.Empty<MyObject>(); |
| } |
| } |
| } |
| private void RadGridView1_DataLoading(object sender, Telerik.Windows.Controls.GridView.GridViewDataLoadingEventArgs e) |
| { |
| var grid = (GridViewDataControl)sender; |
| var d = new GridViewTableDefinition(); |
| d.Relation = new PropertyRelation("Items"); |
| grid.TableDefinition.ChildTableDefinitions.Add(d); |
| grid.AutoGenerateColumns = false; |
| grid.Columns.Add(new GridViewDataColumn() { DataMemberBinding = new Binding("Level") }); |
| grid.Columns.Add(new GridViewDataColumn() { DataMemberBinding = new Binding("ID") }); |
| grid.Columns.Add(new GridViewDataColumn() { DataMemberBinding = new Binding("Name") }); |
| } |
| // this is only working for the top level of the grid |
| private void RadGridView1_RowLoaded(object sender, RowLoadedEventArgs e) |
| { |
| GridViewRow row = e.Row as GridViewRow; |
| MyObject rowItem = e.DataElement as MyObject; |
| if (row != null && rowItem != null) |
| { |
| if (rowItem.Items.Count<MyObject>() > 0) |
| row.IsExpandable = true; |
| else |
| row.IsExpandable = false; |
| } |
| } |
| } |
| } |
