Как сделать фильтрацию данных в DataGridView в WinForms

Есть ComboBox с данными коллекции департаментов. Есть DataGridView с данными коллекции рабочих. Нужно, чтобы при выборе департамента в ComboBox, DataGridView отображал только тех рабочих, которые работают в данном департаменте. Department(int id, string name) Worker(string name, int age, int departmentId) Вот такой код видел, но он не работает, в DataGridView всегда пусто

private void cbDepartments_SelectedIndexChanged(object sender, EventArgs e)
{
    dgvWorkers.DataSource = data.workersDB.Where(find);
}
    
private bool find(Worker a)
{
    return a.DepartmentId == ((Department)cbDepartments.SelectedItem).Id;
}

Ответы (1 шт):

Автор решения: Suchender

Получилось через FindAll

private void cbDepartments_SelectedIndexChanged(object sender, EventArgs e)
{
    dgvWorkers.DataSource = data.workersDB.FindAll(find);
}
    
private bool find(Worker a)
{
    return a.DepartmentId == ((Department)cbDepartments.SelectedItem).Id;
}
→ Ссылка