【问题标题】:Check/uncheck CheckBox (GridViewCheckBoxColumn)选中/取消选中复选框 (GridViewCheckBoxColumn)
【发布时间】:2014-11-03 13:33:19
【问题描述】:
我无法选中/取消选中 gridview 单元格中的 CheckBox。我认为它已禁用。我该怎么做?正在寻找您的回复..
Xaml 代码:
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn Header="Customer"/>
<telerik:GridViewCheckBoxColumn Header="Assigned" AutoSelectOnEdit="True"/>
</telerik:RadGridView.Columns>
</telerik:RadGridView>
</telerik:RadGridview.Columns>
【问题讨论】:
标签:
wpf
gridview
checkbox
telerik
【解决方案1】:
尝试添加以下命令之一:
EditTriggers="Default"
- 需要单击两次才能更改复选框的值。
EditTriggers="CellClick"
- 只需单击一下即可更改复选框的值。
【解决方案2】:
如果您的 RadGridView 是只读的,那么您不能编辑任何单元格。
<telerik:RadGridView Name="MyGridView" IsReadOnly="True">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn Header="Customer" DataMemberBinding="{Binding MyProperty}"/>
<telerik:GridViewCheckBoxColumn Header="Assigned" AutoSelectOnEdit="True"/>
</telerik:RadGridView.Columns>
</telerik:RadGridView>
如果您添加更多详细信息,那么其他人将很容易解决您的问题。
【解决方案3】:
我想澄清 zaman 的回答,因为您可以在只读网格中拥有可编辑的单元格。
<telerik:RadGridView ShowGroupPanel="False" IsReadOnly="True" ItemsSource="{Binding Items}" AutoGenerateColumns="False">
...
<telerik:GridViewDataColumn Header="Amount" IsReadOnly="False">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding AmountText, Mode=TwoWay}" />
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
...
</telerik:RadGridView>
【解决方案4】:
我发现遵循 XAML 是解决此问题的最佳方法。即使您的网格/列处于只读模式,它也可以工作。此外,您不必单击 2 或 3 次即可更改复选框的值。
<telerik:GridViewDataColumn DataMemberBinding="{Binding IsActive}" IsReadOnly="True">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsActive, Mode=TwoWay}" telerik:StyleManager.Theme="Office_Black"/>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>