Telerik GridViewSelectColumn - Map Checkbox To Boolean Prope



(在询问之前,我已经四处寻找问答,但如果它已经在其他地方并且我错过了,请原谅。

我只是想做一些看似应该简单的事情...... 尝试将telerik:RadGridViewtelerik:GridViewSelectColumn中的各个复选框映射到为每行映射的实体的相应布尔属性。

<telerik:RadGridView x:Name="MyGridView" ItemsSource="{Binding MyGridViewItems, Mode=TwoWay}" SelectionMode="Extended" AutoGenerateColumns="False">    
<telerik:RadGridView.Columns>
<telerik:GridViewSelectColumn Name="MyCheckBoxColumn">
<telerik:GridViewSelectColumn.CellTemplate>
<DataTemplate>
<CheckBox Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type telerik:GridViewDataControl}}, Path=DataContext.IncludeChangedCommand}" CommandParameter="{Binding}" IsChecked="{Binding MyBooleanProperty, Mode=TwoWay}" />
</DataTemplate>
</telerik:GridViewSelectColumn.CellTemplate>                                            
</telerik:GridViewSelectColumn>
.
.
.
</telerik:RadGridView.Columns>
</telerik:RadGridView>

如何将MyBooleanProperty映射到每个复选框?

如果要将CheckBox绑定到数据对象的属性,则应使用GridViewCheckBoxColumnGridViewDataColumn

<telerik:GridViewDataColumn Name="MyCheckBoxColumn">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<CheckBox Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type telerik:GridViewDataControl}}, Path=DataContext.IncludeChangedCommand}" 
CommandParameter="{Binding}"
IsChecked="{Binding MyBooleanProperty, Mode=TwoWay}" />
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>

GridViewSelectColumn不绑定到数据。它只是允许您选择给定的行。

有一个解决方案,因为您有布尔变量MyBooleanProperty并且您希望将其与列表中的每个项目映射。 因此,您可以做的是使包装类本身中的一个布尔属性List<YourClass>

类会像这样什么的

class Yourclass { bool ItemBool; }

现在,当您分配列表时,只需linq并根据您的条件分配ItemBool

相关内容

最新更新