2016-01-04 2 views
0

J'utilise DataView et RowFilter. Une seule colonne filtre, mais je souhaite que toutes les colonnes soient filtrées.Filtre de ligne Datagridview

Je voudrais rechercher un mot dans la zone de texte pour faire ce filtre.

DataView dv = dt.DefaultView; 

if (e.KeyChar == (char)13) 
{ 
    dv.RowFilter = string.Format("Name LIKE '%{0}%'" ,textBox1.Text); 
    // dv.RowFilter = string.Format("Date LIKE '%{0}%'", textBox1.Text); 
} 

Les têtes de colonnes name = Name, Date, et ainsi de suite.

+0

Quel est le problème ?! –

+0

mon problème .. je veux filtrer plusieurs ... – Simkyujin

+0

c'est le code ,, seulement "Name" de filtrage de partie, mais je voudrais "Name" + autres colonne – Simkyujin

Répondre

1

Le format devrait ressembler à ceci pour plusieurs colonnes;

dv.RowFilter = "Column1 = " + value1 + " AND Column2 = " + value2; 

Selon votre scénario;

dv.RowFilter = string.Format("Name LIKE '%{0}%' AND Date = {1}" ,textBox1.Text, DateValue); 
+0

value1 ... wha't signifie? – Simkyujin

+0

c'était échouer ... je ne comprends pas bien ... y a-t-il un autre moyen? – Simkyujin

1
(dataGridView1.DataSource as DataTable).DefaultView.RowFilter = string.Format("Name = '{0}'", TextBoxForSearch.Text); 
+0

Essayez d'utiliser le code Exemple de fonctionnalité – jcmordan

+0

Votre réponse ne doit pas seulement inclure du code, mais aussi ajouter quelques explications. – svgrafov