时间:2019-03-08 标签:c#gridviewmultiplefilter

标签 c# winforms

我可以在 gridview 中创建多个过滤器吗?到目前为止,我对每种过滤都有三种不同的方法。我希望能够做这样的事情。首先从将显示的组合框值中选择,然后从这个过滤列表中选择,我希望能够使用文本框搜索其他内容。

private void button9_Click(object sender, EventArgs e)
{
    var result = list3.Where(Srodek => Srodek.Srodek.ID.Device == textBox2.Text).ToList();
    dataGridView4.DataSource = result;
}

private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
{
    var result = list3.Where(Srodek => Srodek.Srodek.category1 == comboBox1.SelectedItem.ToString()).ToList();
    dataGridView4.DataSource = result;
}

现在,当我从组合框中选择一些值时,它会在 gridview 中显示我想要的内容,但稍后当我在文本框中插入内容并单击按钮时,它会过滤整个列表,而不是这个已经被组合框过滤的列表。我怎样才能实现它?

最佳答案

尝试调用两个事件的 FilterDataGrid():

    private void button9_Click(object sender, EventArgs e)
    {
        FilterDataGrid();
    }

    private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
    {
        FilterDataGrid();
    }

    private void FilterDataGrid()
    {
        var _text = Convert.ToString(textBox2.Text);
        var _comboText = ! string.IsNullOrEmpty(comboBox1.Text) ? Convert.ToString(comboBox1.SelectedItem) : string.Empty;
        var result = list3.Where(Srodek => Srodek.Srodek.category1 == _comboText || Srodek.Srodek.ID.Device == _text).ToList();
        //
        dataGridView4.DataSource = result;
    }

希望对你有帮助。

关于时间:2019-03-08 标签:c#gridviewmultiplefilter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18125586/

相关文章:

c# - 线程间的串口通信

c# - 有没有办法在同一行中转换对象并访问其属性?

c# - 在内存中编辑 ZipArchive .NET

c# - 在图像上绘制缩放图片

c# - 命令超时不工作

c# - 如果还设置了 InitialDirectory,OpenFileDialog 是否可以自动选择具有 FileName 中设置的值的文件?

c# - 为什么压缩文件夹并没有压缩其大小?

c# - 将数字添加到字符串?

c# - WinForm刷新问题

c# - .NET WinForm GC 问题