正在数据网格视图中搜索数据

本文关键字:数据 搜索 视图 数据网 网格 | 更新日期: 2023-09-27 18:22:08

我有一个数据网格视图,它显示数据库表中的数据。有两列ID和NAME。我有一个文本框,我在其中输入名称,这些名称的数据显示在datagridview中。我已经实现了对数据的搜索,但我想像在comboBox中所做的那样进行搜索。当我键入"a"时,所有以"a"开头的名称都应该出现在datagridview中。然后,如果我键入"arn",那么所有以"arn"开头的名称都应该出现在datagridview中。我需要知道是否有一个内置的方法或一些LOGIC,我应该考虑。我正在使用Linq到Sql。

编辑-1

我在表单类中创建了一个子类

public class Table1
    {
        public int ID;
        public string Name;
        public MyList(string _newID, string _newName)
        {
            _id = _newID;
            _name = _newName;
        }
        public int _id
        {
            get { return ID; }
            set { ID = value; }
        }
        public string _name
        {
            get { return Name; }
            set { Name = value; }
        }
    }

使用BindingList将其与dataGridView1绑定。我已经在textBox1上应用了textChanged事件。

BindingList<Table1> tempData = new BindingList<Table1>();
        string name = textBox1.Text;
        var result = from row in context.Tables
                     where row.Name == name
                     select row;
        foreach (Table std in result)
        {
            tempData.Add(new MyList(row.ID, row.Name);
        }
        dataGridView1.DataSource = tempData;

我就是这样做的,但这搜索完全相同的名字。我想让它像comboBox下拉搜索一样。其中,在键入的每个键上,搜索结果都会给出包含这些字符的名称/字符串。

谢谢。

正在数据网格视图中搜索数据

试试这个

实体框架通配符&Linq

类似运算符或在LINQ to Entities 中使用通配符

http://www.codeproject.com/Articles/634104/Csharp-Wildcard-Search-Using-LINQ