首页 > 解决方案 > 如何使用已加载数据的 WindowsForms 在 DataGridView 中搜索?

问题描述

我知道你会认为这个问题已经重复了,但不是。我想实现一种搜索方法来使用 WindowsForms 在我的 DataGridView 中查找数据,但我在互联网上找到的大多数解决方案都使用代码在数据库中搜索。当DataGridView 中已经加载了数据时,没有意义在数据库中进行搜索。

我发现了这个: 如何在 C# Windows 窗体应用程序的数据网格视图中搜索?

但是链接中的代码对我不起作用(没有错误,什么都不做):

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        BindingSource bs = new BindingSource();
        bs.DataSource = Listaventas.DataSource;
        bs.Filter = "Nombre" + " like '%" + textBox1.Text + "%'";
        Listaventas.DataSource = bs;

    }

我正在使用实体框架在我的 DataGridView 中加载数据,但我想在 DataGridView 中使用已加载的数据进行搜索。

这是我的代码:

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);

        BindingSource source = new BindingSource();
        var ventas = _facturasRepository.GetListVentas();
        source.DataSource = ventas;
        Listaventas.DataSource = typeof(List<>); 
        Listaventas.DataSource = source;
        Listaventas.Columns.Add("Column", "Test");
        Listaventas.Columns["Column"].DefaultCellStyle.NullValue = "Add";
    }

    public IList<Factura> GetListVentas()
    {
       return _context.Facturas.OrderByDescending(a => a.FechaVenta).ToList();
    }

在此处输入图像描述

我正在尝试使用已加载的数据在 DataGridView 中进行搜索。我认为搜索应该接受所有列文本。大多数互联网解决方案都试图通过调用数据库来进行搜索,但我认为我的情况没有任何意义,因为我已经在组件中加载了数据。

我该如何编码?

标签: c#datagridviewwindows-forms-designer

解决方案


推荐阅读