繁体   English   中英

过滤 C# 中未绑定的数据网格视图

[英]Filtering an unbound datagridview in C#

我有一个 datagridview,其中显示了学生及其年级组的完整列表以及其他信息。 我希望能够使用 combobox 对其进行过滤,以便我可以选择例如第 9 年,并且 datagridview 将仅显示第 9 年的学生及其详细信息。感谢所有帮助 - 我是 C# 的新手

我在我的 combobox 上尝试了以下代码

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;
            }
        }
    }

在此处输入图像描述 我知道你说它是不受约束的,但请试试这个:

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();
}        

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM