This is a migrated thread and some comments may be shown as answers.

[Solved] Hirerchy Databinding using ObservableCollection

1 Answer 202 Views
GridView
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Prakash
Top achievements
Rank 1
Prakash asked on 14 Oct 2010, 02:03 PM
Hi 
  
Can u please provide me sample how to bind the Hirerchy Grid using below collection
  
Im adding the 
ChildTableDefinitions by this way but i couldn't bind the data 
  
  
  
myGrid1.ChildTableDefinitions.Clear();
  
   
  
GridViewTableDefinition definition = new GridViewTableDefinition();
  
definition.Relation = new PropertyRelation("SubTests");
  
Radgridvw.ChildTableDefinitions.Add(definition);
  
   
  
   
  
GridViewTableDefinition definition1 = new GridViewTableDefinition();
  
definition1.Relation = new PropertyRelation("SubTest_1");
  
//Radgridvw.ChildTableDefinitions.Add(definition1);
  
  
  
definition.ChildTableDefinitions.Add(definition1);
  
This is my class and collection    
  
public ObservableCollection<Test> GetTests()
  
  
ObservableCollection<Test> Tests = new ObservableCollection<Test>();
  
Tests.Add(new Test()   
  
Column1 = "1C1",Column2 = "1C2", Column3 = "1C3", Column4 = "1C4", Column5 = "1C5",   
SubTests = null   
});
  
Tests.Add(new Test()   
  
Column1 = "2C12C12C1", Column2 = "2C2", Column3 = "2C3", Column4 = "2C4", Column5 = "2C5",   
SubTests = new List<SubTest>() {    
new SubTest()    
{ SubColumn1 = "S1C1",  SubColumn2 = "S1C2",
SubTests_1 = new List<
SubTest_1>() { new SubTest_1() { SubColumn1_1 = "PPP", SubColumn2_1 = "VVV"}, 
  
new SubTest_1() { SubColumn1_1 = "PPP1", SubColumn2_1 = "VVV"} }    
} ,
  
new SubTest()    
{ SubColumn1 = "S2C1",  SubColumn2 = "S2C2",
SubTests_1 = new List<
SubTest_1>() { new SubTest_1() { SubColumn1_1 = "PPPPPP", SubColumn2_1 = "VVVvbbb"},
new SubTest_1() { SubColumn1_1 = "PPP1", SubColumn2_1 = "VVVererer"} } } 
}
});
  
Tests.Add(new Test()   
 
Column1 = "3C1", Column2 = "3C23C23C23C2", Column3 = "3C3", Column4 = "3C4", Column5 = "3C5",
SubTests = new List<SubTest>() { 
new SubTest() { SubColumn1 = "S1C1", SubColumn2 = "S1C2",
SubTests_1 = new List<SubTest_1>() { new SubTest_1() { SubColumn1_1 = "PPP7777", SubColumn2_1 = "VVV5656"},
new SubTest_1() { SubColumn1_1 = "PPP1141", SubColumn2_1 = "VVV7825"} }} ,
new SubTest() { SubColumn1 = "S2C1", SubColumn2 = "S2C2",
SubTests_1 = new List<SubTest_1>() { new SubTest_1() { SubColumn1_1 = "PPP776666", SubColumn2_1 = "VVV4444"},
new SubTest_1() { SubColumn1_1 = "PPP1", SubColumn2_1 = "VVV"} }} 
}
});
  
Tests.Add(new Test()
  
{
  
Column1 = "4C1",
  
Column2 = "4C2",
  
Column3 = "4C34C34C34C34C3",
  
Column4 = "4C4",
  
Column5 = "4C5",
  
SubTests = new List<SubTest>() { 
  
new SubTest() { SubColumn1 = "S1C1", SubColumn2 = "S1C2" } ,
  
new SubTest() { SubColumn1 = "S2C1", SubColumn2 = "S2C2" } 
  
}
  
});
  
Tests.Add(new Test()
  
{
  
Column1 = "5C1",
  
Column2 = "5C2",
  
Column3 = "5C3",
  
Column4 = "5C4",
  
Column5 = "5C5",
  
SubTests = new List<SubTest>() { 
  
new SubTest() { SubColumn1 = "S1C1", SubColumn2 = "S1C2" } ,
  
new SubTest() { SubColumn1 = "S2C1", SubColumn2 = "S2C2" } 
  
}
  
});
  
return Tests; 
  
}

I can bind 1st level of hirerchy by

<

 

 

my:iGrid.ChildTableDefinitions>

 

 

 

 

<my:iGridViewTableDefinition>

 

 

 

 

<my:iGridViewTableDefinition.Relation>

 

 

 

 

<my:iPropertyRelation ParentPropertyName="SubTests" />

 

 

 

 

</my:iGridViewTableDefinition.Relation>

 

 

 

 

</my:iGridViewTableDefinition>

 

 

 

 

</my:iGrid.ChildTableDefinitions>

 


How can i bind the next level (SubTest_1)

1 Answer, 1 is accepted

Sort by
0
Veselin Vasilev
Telerik team
answered on 19 Oct 2010, 03:54 PM
Hello Prakash,

In this case you need to define a HierarchyChildTemplate, put a gridview in it and define its ChildTableDefinitions.
Find attached a sample project.

Sincerely yours,
Veselin Vasilev
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
Tags
GridView
Asked by
Prakash
Top achievements
Rank 1
Answers by
Veselin Vasilev
Telerik team
Share this question
or