or
RadGridview1.ExpandAllHierarchyItems()
it opens only the first level
how can I open the second level?
I tried to do this
RadGridview1.ChildrenOfType<
RadGridView>().FirstOrDefault().ExpandAllHierarchyItems();
but only the children of the first child are open.
Thanks
GridViewTableDefinition tdPayment = new GridViewTableDefinition(); |
GridViewTableDefinition tdDetail = new GridViewTableDefinition(); |
tdPayment.DataSource = MySalePayments = GetSalePaymentsData(); |
tdPayment.AutoGenerateFieldDescriptors = false; |
TableRelation tr = new TableRelation(); |
tr.FieldNames.Add(new FieldDescriptorNamePair("Receipt", "Receipt")); |
tdPayment.Relation = tr; |
GridViewDataColumn paymentType = new GridViewDataColumn(); |
paymentType.UniqueName = "SalePaymentType"; |
paymentType.Header = "PaymentType"; |
paymentType.DataType = typeof(short); |
GridViewDataColumn amount = new GridViewDataColumn(); |
amount.UniqueName = "Amount"; |
amount.Header = "Amount"; |
amount.DataType = typeof(decimal); |
tdPayment.FieldDescriptors.Add(paymentType); |
tdPayment.FieldDescriptors.Add(amount); |
tdDetail.AutoGenerateFieldDescriptors = false; |
tdDetail.DataSource = MySaleDetails = GetSaleDetailData(); |
tdDetail.Relation = tr; |
GridViewDataColumn itemId = new GridViewDataColumn(); |
itemId.UniqueName = "ItemId"; |
itemId.Header = "ItemId"; |
itemId.DataType = typeof(string); |
GridViewDataColumn saleQty = new GridViewDataColumn(); |
saleQty.UniqueName = "SaleQuantity"; |
saleQty.Header = "Sale Qty"; |
saleQty.DataType = typeof(short); |
GridViewDataColumn unitPrice = new GridViewDataColumn(); |
unitPrice.UniqueName = "UnitPrice"; |
unitPrice.Header = "Price"; |
unitPrice.DataType = typeof(decimal); |
GridViewDataColumn discount = new GridViewDataColumn(); |
discount.UniqueName = "Discount"; |
discount.Header = "Discount"; |
discount.DataType = typeof(decimal); |
GridViewDataColumn individualDiscount = new GridViewDataColumn(); |
individualDiscount.UniqueName = "IndividualDiscount"; |
individualDiscount.Header = "Ind.Discount"; |
individualDiscount.DataType = typeof(decimal); |
tdDetail.FieldDescriptors.Add(itemId); |
tdDetail.FieldDescriptors.Add(saleQty); |
tdDetail.FieldDescriptors.Add(unitPrice); |
tdDetail.FieldDescriptors.Add(discount); |
tdDetail.FieldDescriptors.Add(individualDiscount); |
radGridViewSalesList.TableDefinition.ChildTableDefinitions.Add(tdPayment); |
radGridViewSalesList.TableDefinition.ChildTableDefinitions.Add(tdDetail); |
When Run in Q3, AutoGenerateFieldDescriptors was simply ignored showing all columns.
In Q3, it was suggested that I use AutoGenerateColumns of GridViewDataControl .
I was able to do it with single child table using DataLoading handler as shown in the demo source code.
But I don't know how to do it with two child tables.
// 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> |