我正在尝试使用combobox在数据杂志中过滤我的数据。
我在xaml中有一个:
<ComboBox x:Name="cmbFilter" SelectionChanged="cmbFilter_SelectionChanged" />
<Grid>
<DataGrid x:Name="dataList">
<DataGrid.Columns >
<DataGridTextColumn Header="School" Binding="{Binding SchoolName}"></DataGridTextColumn>
<DataGridTextColumn Header="Category" Binding="{Binding CategorySchool}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
以及背后的代码:
//fill the list with the datas
this.dataList.ItemsSource = MainWindow._RE.ListDatas;
//fill the combobox with the school names
this.cmbFilter.ItemsSource = MainWindow._RE.ListNameSchool;
private void cmbFilter_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
// ??????
}
我设法用所有数据填充了所有数据,并用所有学校名称填充数据杂志。我想要的是能够根据" School"列从Combobox选择哪个学校名称来过滤数据级。显示的数据仅是在Combobox
中选择的学校的数据谢谢
您可以使用Where()
:
private void cmbFilter_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
this.dataList.ItemsSource = MainWindow._RE.ListDatas.Where(i => i.SchoolName == (string)cmbFilter.SelectedItem);
}