如何使用访问数据库在 DataGridView 中进行搜索?

How to search in DataGridView using access database?

我正在开发一个使用访问数据库更新数据的 winform 数据库应用程序。我在其中尝试添加文本框以在 datagridview 中搜索和过滤数据(我使用 OleDb dataadapter 将我的 datagridview 连接到 Access 数据库。 我的搜索文本框代码如下:

private void txtSearchAdmin_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == (char)13)
        {
            if (string.IsNullOrEmpty(txtSearchAdmin.Text))
                dataGridView.DataSource = employeesBindingSource;
            else
            {
                var query = from o in this.adminData.Employees
                            where o.Customer_Name.Contains(txtSearchAdmin.Text) || o.Phone == txtSearchAdmin.Text || o.Address.Contains(txtSearchAdmin.Text)
                            select o;
                dataGridView.DataSource = query.ToList();
          }
        }

@Abhi 您当前正在使用 KeyPress 事件,并且此事件在文本框中输入文本之前触发,因此您应该使用文本框 TextChanged 事件。

private void txtSearchAdmin_TextChanged(object sender, EventArgs e)
    {

            if (string.IsNullOrEmpty(txtSearchAdmin.Text))
                dataGridView.DataSource = employeesBindingSource;
            else
            {
                var query = from o in this.adminData.Employees
                            where o.Customer_Name.Contains(txtSearchAdmin.Text) || o.Phone == txtSearchAdmin.Text || o.Address.Contains(txtSearchAdmin.Text)
                            select o;
                dataGridView.DataSource = query.ToList();
          }

}