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
>