6 Answers, 1 is accepted
0
Orit
Top achievements
Rank 1
answered on 15 Jun 2009, 04:54 AM
I solved this problem
but now I have another question,
how can I control the columns of the child grid
change their header text etc.
Thanks.
by the way, this is what I used to solve my problem
<telerik:RadGridView.HierarchyChildTemplate>
but now I have another question,
how can I control the columns of the child grid
change their header text etc.
Thanks.
by the way, this is what I used to solve my problem
<telerik:RadGridView.HierarchyChildTemplate>
<DataTemplate>
<telerik:GridViewDataControl IsFilteringAllowed="False" ShowGroupPanel="False"/>
</DataTemplate>
</telerik:RadGridView.HierarchyChildTemplate>
0
Hello Orit,
This is done in exactly the same way as you would do it for a normal top-level grid. In other words, if you want to configure the columns, simply add a RadGridView.Columns tag inside the child grid and do the work there. Here is a sample code snippet demonstrating that:
I have attached the sample project that the above code snippet is from. Please, take a look at it and let me know if you have any other questions.
Regards,
Ross
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
This is done in exactly the same way as you would do it for a normal top-level grid. In other words, if you want to configure the columns, simply add a RadGridView.Columns tag inside the child grid and do the work there. Here is a sample code snippet demonstrating that:
<Window x:Class="ManualHierarchy.Window1" |
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" |
xmlns:local="clr-namespace:ManualHierarchy" |
Title="Window1" Height="300" Width="300"> |
<Grid> |
<telerik:RadGridView |
x:Name="grid" |
IsReadOnly="True" |
AutoGenerateColumns="False" |
ColumnsWidthMode="Fill"> |
<telerik:RadGridView.Columns> |
<telerik:GridViewDataColumn HeaderText="First Name" DataMemberBinding="{Binding FirstName}" /> |
<telerik:GridViewDataColumn HeaderText="Family Name" DataMemberBinding="{Binding LastName}" /> |
</telerik:RadGridView.Columns> |
<telerik:GridViewDataControl.HierarchyChildTemplate> |
<DataTemplate> |
<StackPanel DataContext="{x:Null}"> |
<telerik:RadGridView |
CanUserReorderColumns="False" |
CanUserFreezeColumns="False" |
ShowGroupPanel="False" |
ColumnsWidthMode="Auto" |
ItemsSource="{Binding Instruments}" |
Loaded="RadGridView_Loaded"> |
<telerik:RadGridView.Columns> |
<telerik:GridViewComboBoxColumn |
HeaderText="Instruments Played" |
DataMemberBinding="{Binding Path=.}" |
ItemsSource="{Binding Source={local:EnumValues {x:Type local:Instrument}}}"/> |
</telerik:RadGridView.Columns> |
</telerik:RadGridView> |
</StackPanel> |
</DataTemplate> |
</telerik:GridViewDataControl.HierarchyChildTemplate> |
</telerik:RadGridView> |
</Grid> |
</Window> |
I have attached the sample project that the above code snippet is from. Please, take a look at it and let me know if you have any other questions.
Regards,
Ross
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
0
Orit
Top achievements
Rank 1
answered on 15 Jun 2009, 10:14 AM
private void BoundDataMainGrid() |
{ |
DataSet dataSet = GetDataSet(); |
RadGridView1.DataMember = dataSet.Tables["Requests"].TableName; |
RadGridView1.ItemsSource = dataSet; |
} |
private DataSet GetDataSet() |
{ |
DataSet ds = new DataSet(); |
DataTable dtParent; |
dtParent = new DataTable("Requests"); |
dtParent.Columns.Add("RequestNumber"); |
dtParent.Columns.Add("RequestSum"); |
dtParent.Columns.Add("RequestDescription"); |
dtParent.Columns.Add("RequestType"); |
dtParent.Columns.Add("OrderNumber"); |
dtParent.Columns.Add("OrderSum"); |
dtParent.Columns.Add("Supplier"); |
dtParent.Columns.Add("OrderDescription"); |
dtParent.Columns.Add("RequestBalance"); |
dtParent.Rows.Add("80710981344", "375", "‰‰™… —ˆ…‚ ‚…‰", "‘‚˜", "81250542", "375", "ˆ˜‰—‘", "", "0"); |
dtParent.Rows.Add("81210981522", "225", "€‰ˆ˜ˆ ‚…‰", "‘‚˜", "", "", "", "", "225"); |
ds.Tables.Add(dtParent); |
DataTable dtChild; |
dtChild = new DataTable("Details"); |
dtChild.Columns.Add("RequestNumber"); |
dtChild.Columns.Add("Text"); |
dtChild.Rows.Add("80710981344", "111"); |
dtChild.Rows.Add("80710981344", "222"); |
dtChild.Rows.Add("80710981344", "333"); |
dtChild.Rows.Add("81210981522", "444"); |
ds.Tables.Add(dtChild); |
ds.Relations.Add("RequestNumber", dtParent.Columns["RequestNumber"]dtChild.Columns["RequestNumber"]); |
return ds; |
} |
<telerik:RadGridView Margin="20,235.785,72.879,30.009" Name="RadGridView1" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" |
telerik:StyleManager.Theme="Simple" AutoGenerateColumns="False" IsFilteringAllowed="False" FlowDirection="RightToLeft" ShowGroupPanel="False" |
AutoGenerateHierarchyFromDataSet="True" > |
<telerik:RadGridView.Columns> |
<telerik:GridViewDataColumn UniqueName="RequestNumber" HeaderText="מספר דרישה" Width="Auto" /> |
<telerik:GridViewDataColumn UniqueName="RequestSum" HeaderText="סכום הדרישה (K ש''ח)" Width="Auto" /> |
<telerik:GridViewDataColumn UniqueName="RequestDescription" HeaderText="תאור הדרישה" Width="Auto" /> |
<telerik:GridViewDataColumn UniqueName="RequestType" HeaderText="סוג הדרישה" Width="Auto" /> |
<telerik:GridViewDataColumn UniqueName="OrderNumber" HeaderText="מספר הזמנה" Width="Auto" /> |
<telerik:GridViewDataColumn UniqueName="OrderSum" HeaderText="סכום הזמנה (K ש''ח)" Width="Auto" /> |
<telerik:GridViewDataColumn UniqueName="Supplier" HeaderText="ספק" Width="Auto" /> |
<telerik:GridViewDataColumn UniqueName="OrderDescription" HeaderText="תאור ההזמנה" Width="Auto" /> |
<telerik:GridViewDataColumn UniqueName="RequestBalance" HeaderText="יתרה בדרישה (K ש''ח)" Width="Auto" /> |
</telerik:RadGridView.Columns> |
<telerik:RadGridView.HierarchyChildTemplate> |
<DataTemplate> |
<StackPanel DataContext="{x:Null}"> |
<telerik:RadGridView |
CanUserReorderColumns="False" |
CanUserFreezeColumns="False" |
ShowGroupPanel="False" |
ColumnsWidthMode="Auto" ItemsSource="{Binding Path=Details}" |
> |
<telerik:RadGridView.Columns> |
<telerik:GridViewDataColumn UniqueName="RequestNumber" HeaderText="מספר דרישה" Width="Auto" /> |
<telerik:GridViewDataColumn UniqueName="Text" HeaderText="תאור" Width="Auto" /> |
</telerik:RadGridView.Columns> |
</telerik:RadGridView> |
</StackPanel> |
</DataTemplate> |
</telerik:RadGridView.HierarchyChildTemplate> |
</telerik:RadGridView> |
Thank you for your answer
in this way I managed to add my specific columns
but now I dont see the values in them
what I'm tring to do is,
I hava a dataset with two tables- parent and child
and I want to show them hierachicly
(I have to set their header text by myself !)
if there is a better way to do this, I will be happy to get the code
thanks
0
Hello Orit,
This is my mistake, please accept my apologies. I have sent you XAML that is not entirely correct.
Please, remove the StackPanel's DataContext setting to null from the XAML. It should look like this:
I am attaching the modified source code. Once again, please excuse me for the inconvenience.
Drop me a line, if there are other problems.
Sincerely yours,
Ross
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
This is my mistake, please accept my apologies. I have sent you XAML that is not entirely correct.
Please, remove the StackPanel's DataContext setting to null from the XAML. It should look like this:
<telerik:RadGridView.HierarchyChildTemplate> |
<DataTemplate> |
<StackPanel> |
<telerik:RadGridView CanUserReorderColumns="False" |
CanUserFreezeColumns="False" ShowGroupPanel="False" |
ColumnsWidthMode="Auto" ItemsSource="{Binding Path=Details}"> |
<telerik:RadGridView.Columns> |
<telerik:GridViewDataColumn UniqueName="RequestNumber" |
HeaderText="מספר דרישה" Width="Auto"/> |
<telerik:GridViewDataColumn UniqueName="Text" HeaderText="תאור" |
Width="Auto" /> |
</telerik:RadGridView.Columns> |
</telerik:RadGridView> |
</StackPanel> |
</DataTemplate> |
</telerik:RadGridView.HierarchyChildTemplate> |
I am attaching the modified source code. Once again, please excuse me for the inconvenience.
Drop me a line, if there are other problems.
Sincerely yours,
Ross
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
0
Orit
Top achievements
Rank 1
answered on 16 Jun 2009, 05:19 AM
Hi Ross
Thanks fot your reply.
I used your code,
I can see that it changes the properties of the all child grid
like
Thanks fot your reply.
I used your code,
I can see that it changes the properties of the all child grid
like
IsFilteringAllowed="False" |
ShowGroupPanel="False" etc. |
but there is no change in the columns
not on the headerText, nothing
it shows the two columns that I have in the dataTable
even if I drop them from the
RadGridView.Columns
any idea??
0
Accepted
Hello Orit,
Now I see what you mean. Sorry for the misunderstanding.
Unfortunately, the scenario that you are describing is currently not available out of the box. However, we have gone the extra mile and "hacked" the grid to achieve the scenario that you are describing. Have in mind that what we have done is not very intuitive and this is not the way things should be done in general. Hopefully the new Q2 release will introduce an entirely new data engine and all of the "hacks" we have done will not be necessary anymore.
I have attached the modified project and placed code comments to explain what we have done. Please, let us know if you don't understand something or if you would like to ask us something else.
Regards,
Ross
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
Now I see what you mean. Sorry for the misunderstanding.
Unfortunately, the scenario that you are describing is currently not available out of the box. However, we have gone the extra mile and "hacked" the grid to achieve the scenario that you are describing. Have in mind that what we have done is not very intuitive and this is not the way things should be done in general. Hopefully the new Q2 release will introduce an entirely new data engine and all of the "hacks" we have done will not be necessary anymore.
I have attached the modified project and placed code comments to explain what we have done. Please, let us know if you don't understand something or if you would like to ask us something else.
Regards,
Ross
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.