I have a grid that could have as many as 3000 rows in it. I have 5 ReadOnly columns and one CheckBox column that is enabled. The user needs to:
Note: This is how the out-of-the-box CheckBoxColumn in the MS Grid works.
- move from record to record using the up/down keyboard arrows.
- On moving up and down, the focus needs to remain on the CheckBox column.
- User should have a visual queue which row and column is selected. Currently, row is obvious; column is not.
- press the spacebar to toggle the checkbox value to the next/other value.
- I'm not convinced that putting a KeyDown event handler on the CheckBox is valid because it seems the keydown is actually on the cell that contains the CheckBox.
How can I accomplish this?
Grid:
<telerikGrid:RadGridView x:Name="equipmentGrid" Grid.Row="1" |
AutoGenerateColumns="False" ShowGroupPanel="True"> |
<telerikGrid:RadGridView.Columns> |
<telerikGrid:GridViewDataColumn Header="System" |
DataMemberBinding="{Binding Root}" IsReadOnly="True" /> |
<telerikGrid:GridViewDataColumn Header="Area" |
DataMemberBinding="{Binding Area}" IsReadOnly="True" /> |
<telerikGrid:GridViewDataColumn Header="Process Cell" |
DataMemberBinding="{Binding ProcessCell}" IsReadOnly="True" /> |
<telerikGrid:GridViewDataColumn Header="Unit" |
DataMemberBinding="{Binding Unit}" IsReadOnly="True" /> |
<telerikGrid:GridViewDataColumn Header="Module" |
DataMemberBinding="{Binding Module}" IsReadOnly="True" /> |
<telerik:GridViewDataColumn |
Header="Include" |
IsCustomSortingEnabled="True" |
IsFilterable="True"> |
<telerik:GridViewColumn.CellTemplate> |
<DataTemplate> |
<CheckBox |
VerticalAlignment="Center" |
IsChecked="{Binding Path=IsChecked}" |
/> |
</DataTemplate> |
</telerik:GridViewColumn.CellTemplate> |
</telerik:GridViewDataColumn> |
</telerikGrid:RadGridView.Columns> |
</telerikGrid:RadGridView> |
Note: This is how the out-of-the-box CheckBoxColumn in the MS Grid works.