Filtrer les données dans datagridview c #

J’essaie de filtrer les données que je veux et de cacher toutes les autres données à la place. Voici ma liste de code,

private void searchButton_Click_1(object sender, EventArgs e) { BindingSource bs = new BindingSource(); bs.DataSource = dataGridView1.DataSource; bs.Filter = dataGridView1.Columns[1].HeaderText.ToSsortingng() + " LIKE '%" + searchTextBox.Text + "%'"; dataGridView1.DataSource = bs; } 

mais quand je le lance, il me demande un message d’erreur

“Opérande manquant après l’opérateur ‘ID’.”

et j’ai essayé cela aussi, même message d’erreur.

 private void searchButton_Click_1(object sender, EventArgs e) { BindingSource bs = new BindingSource(); bs.DataSource = dataGridView1.DataSource; // bs.Filter = dataGridView1.Columns[1].HeaderText.ToSsortingng() + " LIKE '%" + searchTextBox.Text + "%'"; bs.Filter = "Sample ID like '*" + searchTextBox.Text + "*'"; dataGridView1.DataSource = bs; } 

quelqu’un peut-il m’aider s’il vous plaît clarifier le problème? Merci.

Essayez de suivre,

 BindingSource bs = new BindingSource(); bs.DataSource = dataGridView1.DataSource; bs.Filter = "yourColumnName like '%" + textBox1.Text + "%'"; dataGridView1.DataSource = bs; 

ou

Dans la zone de texte de recherche événement modifié, essayez ce qui suit,

 (dataGridView1.DataSource as DataTable).DefaultView.RowFilter = ssortingng.Format("Field = '{0}'", searchTextBox.Text); 

Essayez de suivre

 BindingSource bs = new BindingSource(); bs.DataSource = dataGridView1.DataSource; bs.Filter = "[HeaderText] Like '%" + searchTextBox.Text + "%'"; dataGridView1.DataSource = bs; 

J’ai défini ma source de données en tant que liste et j’ai utilisé LINQ pour filtrer le datagridview.

 //Declare Global List _productList //Somewhere in code initialize datagridview DataGridView1.DataSource = _productList //TextBox TextChanged Function private void TxtSearchProduct_TextChanged(object sender, EventArgs e) { var result = _productList.Where(x => x.ProductName.Contains(TxtSearchProduct.Text)).ToList(); DataGridView1.DataSource = result; } 

J’espère que ça aide