使用Commobox过滤数据杂志



我正在尝试使用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);
}

最新更新