Фильтрация несвязанного представления данных в C # - PullRequest
0 голосов
/ 25 октября 2019

У меня есть датагридвью, которая показывает полный список студентов и их групп по годам среди другой информации. Я хочу отфильтровать это с помощью комбинированного списка, чтобы я мог выбрать, например, для 9-го года, а в таблице данных будут показаны только ученики и их данные в 9-м году. Любая помощь приветствуется - я новичок в C #

Я попробовал следующий код на своем комбобоксе

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
        foreach (DataGridViewRow df in this.dataGridView1.Rows)
        {
            string TextVar;
            TextVar = comboBox1.Text;


            if (dataGridView1.Rows[df.Index].Cells[3].Value.ToString()== (TextVar))
            {
                dataGridView1.Rows[df.Index].Visible = true;
            }
            else
            {
                dataGridView1.Rows[df.Index].Visible = false;
            }
        }
    }

1 Ответ

0 голосов
/ 25 октября 2019

enter image description here Я понимаю, что вы сказали, что это не связано, но, пожалуйста, попробуйте это:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    var bc = BindingContext[dataGridView1.DataSource];
    bc.SuspendBinding();

    for (int i = 0; i < (dataGridView1.Rows.Count - 1); i++)
    {
        dataGridView1.Rows[i].Visible = (dataGridView1.Rows[i].Cells[3].Value.ToString() == comboBox1.Text);
    }

    bc.ResumeBinding();
}        
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...