I have two identical WPF RadGridViews on my form. I want to be able to detect when the GroupHeader has been clicked so that
a) Only one group on each grid is expanded at any one time
b) If the group in radGridDebits is expanded/collapsed, the same group in radGridCredits is expanded/collapsed - i.e. synchronize the group header between both grids.
c) Basically, I'm looking for a GroupHeader.Clicked event but can't find it!!
Many thanks
Jeremy Holt
a) Only one group on each grid is expanded at any one time
b) If the group in radGridDebits is expanded/collapsed, the same group in radGridCredits is expanded/collapsed - i.e. synchronize the group header between both grids.
c) Basically, I'm looking for a GroupHeader.Clicked event but can't find it!!
<
Controls1:RadGridView
Grid.Row
=
"1"
x:Name
=
"radGridDebits"
AutoGenerateColumns
=
"False"
ShowColumnHeaders
=
"False"
IsReadOnly
=
"True"
ItemsSource
=
"{Binding Data}"
ShowGroupPanel
=
"False"
RowIndicatorVisibility
=
"Collapsed"
AutoExpandGroups
=
"False"
>
<
Controls1:RadGridView.SortDescriptors
>
<
Data:SortDescriptor
Member
=
"HlpAccountGroup.CategoryID"
/>
<
Data:SortDescriptor
Member
=
"Description"
/>
</
Controls1:RadGridView.SortDescriptors
>
<
Controls1:RadGridView.GroupDescriptors
>
<
Data:GroupDescriptor
Member
=
"HlpGroupCompany.Description"
DisplayContent
=
"Group company"
SortDirection
=
"Ascending"
/>
</
Controls1:RadGridView.GroupDescriptors
>
<
Controls1:RadGridView.FilterDescriptors
>
<
Data:CompositeFilterDescriptorCollection
>
<
Data:CompositeFilterDescriptor
LogicalOperator
=
"Or"
>
<
Data:FilterDescriptor
Member
=
"HlpAccountGroup.AccountType"
Value
=
"Debit"
/>
<
Data:FilterDescriptor
Member
=
"HlpAccountGroup.AccountType"
Value
=
"Common"
/>
</
Data:CompositeFilterDescriptor
>
</
Data:CompositeFilterDescriptorCollection
>
</
Controls1:RadGridView.FilterDescriptors
>
<
Controls1:RadGridView.GroupHeaderTemplate
>
<
DataTemplate
>
<
Border
Background
=
"{Binding Group.Items[0].HlpGroupCompany.Brush}"
Padding
=
"3"
Width
=
"250"
CornerRadius
=
"3"
BorderThickness
=
"1"
>
<
StackPanel
Orientation
=
"Horizontal"
>
<
TextBlock
Text
=
"Group company:"
Margin
=
"0,0,3,0"
/>
<
TextBlock
Text
=
"{Binding Group.Key}"
Foreground
=
"{StaticResource DarkBackground}"
FontWeight
=
"Bold"
/>
</
StackPanel
>
</
Border
>
</
DataTemplate
>
</
Controls1:RadGridView.GroupHeaderTemplate
>
<
Controls1:RadGridView.Columns
>
<
Controls1:GridViewDataColumn
Header
=
"Account"
DataMemberBinding
=
"{Binding Description}"
/>
<
Controls1:GridViewDataColumn
Header
=
""
DataMemberBinding
=
"{Binding HlpCurrency.CurrencyId}"
/>
</
Controls1:RadGridView.Columns
>
</
Controls1:RadGridView
>
<
Controls1:RadGridView
Grid.Row
=
"1"
x:Name
=
"radGridCredits"
AutoGenerateColumns
=
"False"
ShowColumnHeaders
=
"False"
IsReadOnly
=
"True"
ItemsSource
=
"{Binding Data}"
ShowGroupPanel
=
"False"
RowIndicatorVisibility
=
"Collapsed"
AutoExpandGroups
=
"False"
>
<
Controls1:RadGridView.SortDescriptors
>
<
Data:SortDescriptor
Member
=
"HlpAccountGroup.CategoryID"
/>
<
Data:SortDescriptor
Member
=
"Description"
/>
</
Controls1:RadGridView.SortDescriptors
>
<
Controls1:RadGridView.GroupDescriptors
>
<
Data:GroupDescriptor
Member
=
"HlpGroupCompany.Description"
DisplayContent
=
"Group company"
SortDirection
=
"Ascending"
/>
</
Controls1:RadGridView.GroupDescriptors
>
<
Controls1:RadGridView.FilterDescriptors
>
<
Data:CompositeFilterDescriptorCollection
>
<
Data:CompositeFilterDescriptor
LogicalOperator
=
"Or"
>
<
Data:FilterDescriptor
Member
=
"HlpAccountGroup.AccountType"
Value
=
"Credit"
/>
<
Data:FilterDescriptor
Member
=
"HlpAccountGroup.AccountType"
Value
=
"Common"
/>
</
Data:CompositeFilterDescriptor
>
</
Data:CompositeFilterDescriptorCollection
>
</
Controls1:RadGridView.FilterDescriptors
>
<
Controls1:RadGridView.GroupHeaderTemplate
>
<
DataTemplate
>
<
Border
Background
=
"{Binding Group.Items[0].HlpGroupCompany.Brush}"
Padding
=
"3"
Width
=
"250"
CornerRadius
=
"3"
BorderThickness
=
"1"
>
<
StackPanel
Orientation
=
"Horizontal"
>
<
TextBlock
Text
=
"Group company:"
Margin
=
"0,0,3,0"
/>
<
TextBlock
Text
=
"{Binding Group.Key}"
Foreground
=
"{StaticResource DarkBackground}"
FontWeight
=
"Bold"
/>
</
StackPanel
>
</
Border
>
</
DataTemplate
>
</
Controls1:RadGridView.GroupHeaderTemplate
>
<
Controls1:RadGridView.Columns
>
<
Controls1:GridViewDataColumn
Header
=
"Account"
DataMemberBinding
=
"{Binding Description}"
/>
<
Controls1:GridViewDataColumn
Header
=
""
DataMemberBinding
=
"{Binding HlpCurrency.CurrencyId}"
/>
</
Controls1:RadGridView.Columns
>
</
Controls1:RadGridView
>
Many thanks
Jeremy Holt