【发布时间】:2017-08-25 09:19:13
【问题描述】:
我知道我在这里问过完全相同的问题 (Override default Boolean Filtering in GridView WPF, Apply Custom bool filter),但结果不是预期的。 事实上,复选框应该是 DatagridView 中的“默认”复选框,而不是“复选框”项。它们不一样。
此代码提供了一个复选框:
<telerik:GridViewDataColumn Header="Intégrée" UniqueName="Intégrée" DataMemberBinding="{Binding IsIntegree, Converter={StaticResource MyConverter}}" ShowDistinctFilters="True">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsIntegree, Mode=TwoWay}"/>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
这提供了一个来自 GridViewDataColumn 的复选框,带有“ThreeState”。查看结果不一样。
<telerik:GridViewDataColumn Header="Intégrée" DataMemberBinding="{Binding IsIntegree, Mode=OneWay}" ShowDistinctFilters="True"/>
在后面的代码中,我确实更改了过滤器内的输出,但不再有从字符串值(“Vrai”)到行中的布尔值(“True”)的绑定:
private void GridView_DistinctValuesLoading(object sender, GridViewDistinctValuesLoadingEventArgs e)
{
var col = ((Telerik.Windows.Controls.RadGridView)sender).GetDistinctValues(e.Column, false);
IEnumerable<string> enu = col.Cast<bool>().Select(t => t.ToString());
ICollection<string> distinctValues = enu.ToList();
distinctValues.Clear();
distinctValues.Add("Vrai");
distinctValues.Add("Faux");
e.ItemsSource = distinctValues;
}
如何将字符串值绑定到行中的布尔值以过滤我的行?
【问题讨论】:
-
复选框之间有什么区别?
-
项目“checkbox”中有一个“check”,我不想要。 dataGridView 中的“默认”完全填充了软件颜色。我正在发布图片。
-
这是我需要的 datagridView 的结果:ibb.co/nrTynQ 而不是“经典”复选框
标签: c# wpf xaml gridview telerik