Right now I've got a RadGridView that is using a sort and group headers. I've been thinking of adding an additional field (currently commented out) to give the users more information so they can make more intelligent decisions as to which row in the grid view to select. However, as has been pointed out to me, if I did that, then there would be the date of birth, appointment date and interview date, one right after another. Making a rather busy UI which would be hard to figure out. So I've been thinking about replacing the GridViewDataColumns I currently have displayed for each detail row, with a data template instead. That way I could put in labels, probably put that information into a regular XAML grid or maybe a stack panel, and just make the UI easier to read and interpret. But I'm concerned about potentially messing up my sort and group headers of the RadGridView. This is the first time I've used those in a WPF app. So, my question is can I replace those individual GridViewDataColumns I currently use for the details rows, with a DataTemplate and still not mess up my sorts and group headers?
Here is the XAML. The ItemsSource is assigned in the code-behind:
Here is the XAML. The ItemsSource is assigned in the code-behind:
<telerik:RadGridView VerticalAlignment="Stretch" AutoGenerateColumns="False" DataMember="ClientNumber" x:Name="grdClients" telerikControls:StyleManager.Theme="Transparent" d:DataContext="{d:DesignData Source=/SampleData/ASISelectClientSampleCollection.xaml}" IsReadOnly="True" ShowColumnHeaders="False" ShowGroupPanel="False" RowIndicatorVisibility="Collapsed" IsFilteringAllowed="False" AutoExpandGroups="True" FontSize="16" SelectionChanged="grdClients_SelectionChanged" ItemsSource="{Binding}" HorizontalAlignment="Left" MouseDoubleClick="grdClients_MouseDoubleClick" Margin="50,25,0,0" > <telerik:RadGridView.Columns> <telerik:GridViewDataColumn UniqueName="ClientNumber" Width="SizeToCells"> <telerik:GridViewDataColumn.ToolTipTemplate> <DataTemplate> <TextBlock Text="Client Number" /> </DataTemplate> </telerik:GridViewDataColumn.ToolTipTemplate> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn UniqueName="LastName"> <telerik:GridViewDataColumn.ToolTipTemplate> <DataTemplate> <TextBlock Text="Last Name" /> </DataTemplate> </telerik:GridViewDataColumn.ToolTipTemplate> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn UniqueName="FirstNames"> <telerik:GridViewDataColumn.ToolTipTemplate> <DataTemplate> <TextBlock Text="First Name" /> </DataTemplate> </telerik:GridViewDataColumn.ToolTipTemplate> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn UniqueName="CaseNumber" Width="SizeToCells"> <telerik:GridViewDataColumn.ToolTipTemplate> <DataTemplate> <TextBlock Text="Case Number" /> </DataTemplate> </telerik:GridViewDataColumn.ToolTipTemplate> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn UniqueName="DateOfBirth" DataFormatString="{}{0:d}" Width="SizeToCells"> <telerik:GridViewDataColumn.ToolTipTemplate> <DataTemplate> <TextBlock Text="DOB" /> </DataTemplate> </telerik:GridViewDataColumn.ToolTipTemplate> </telerik:GridViewDataColumn> <!--<telerik:GridViewDataColumn UniqueName="AppointmentDate" DataFormatString="{}{0:d}" Width="SizeToCells"> <telerik:GridViewDataColumn.ToolTipTemplate> <DataTemplate> <TextBlock Text="Appointment date - the scheduled date of the assessment" /> </DataTemplate> </telerik:GridViewDataColumn.ToolTipTemplate> </telerik:GridViewDataColumn>--> <telerik:GridViewDataColumn UniqueName="InterviewDate" DataFormatString="{}{0:d}" Width="SizeToCells"> <telerik:GridViewDataColumn.ToolTipTemplate> <DataTemplate> <TextBlock Text="Interview Date - the date the assessment began" /> </DataTemplate> </telerik:GridViewDataColumn.ToolTipTemplate> </telerik:GridViewDataColumn> </telerik:RadGridView.Columns> <telerik:RadGridView.SortDescriptors> <telerik:SortDescriptor Member="LastName" SortDirection="Ascending" /> <telerik:SortDescriptor Member="FirstNames" SortDirection="Ascending" /> <telerik:SortDescriptor Member="CaseNumber" SortDirection="Descending" /> </telerik:RadGridView.SortDescriptors> <telerik:RadGridView.GroupDescriptors> <telerik:GroupDescriptor Member="ClientNumber"/> </telerik:RadGridView.GroupDescriptors> <telerik:RadGridView.GroupHeaderTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal" Width="250"> <TextBlock Text="{Binding Group.Items[0].LastName}" /> <TextBlock Text=", " /> <TextBlock Text="{Binding Group.Items[0].FirstNames}" /> </StackPanel> <StackPanel Margin="10,0,0,0" Orientation="Horizontal"> <TextBlock Text="{Binding Group.Items[0].SocialSecurityNo}" FontWeight="Bold" /> </StackPanel> </StackPanel> </DataTemplate> </telerik:RadGridView.GroupHeaderTemplate></telerik:RadGridView>