J'utilise datagridview lier à datatable pour montrer mes dossiers et j'avoir des dossiers comme celui-ci (par exemple seulement)
NomPaysVille
datagridview filtre avec plusieurs mots-clés à l'aide dataview
JAck Country1 City1
Name2 Country1 City2
JACK Country2 City1
J'ai textbox pour la recherche que je ne voudrais pas utiliser cette zone de texte pour rechercher dans ce datagridview avec plusieurs mots-clés je ne veux pas par exemple obtenir tous les enregistrements pour Country1 et avoir le nom jack i mettre une chaîne en zone de texte comme celui-ci
[JACK pays1]
i créer cette méthode pour créer la requête RowFilter dynamique basée sur les colonnes
string query = "";
Boolean firsttime = true;
bool firstkeyword = true;
foreach (string se in txt_ar_recherche.Text.Trim().Split(' '))
{
string search = (Convert.ToString(" like '%") + se) + "%'";
if(!firstkeyword) query += " and ";
query += "(";
bool firstcolumn = true;
foreach (DataGridViewColumn col in grid.Columns)
{
if (col.Visible)
{
if (firsttime)
{
query += "Convert(" + col.Name + ",'System.String')" + search;
firsttime = false;
}
else
{
query += " or " + "Convert(" + col.Name + ",'System.String')" + search;
}
}
firstcolumn = false;
}
firstkeyword = false;
query += ")";
}
(grid.DataSource as DataTable).DefaultView.RowFilter = query;
mais il ne fonctionne pas, je ne sais pas comment résoudre ce problème recherche avec les mots-clés dans mutilple datagridview i wan't pour créer ths même recherche textBox DATATABLE JavaScript, ceci est une démonstration https://datatables.net/
A quoi ressemble la requête générée? Et qu'est-ce qui ne marche pas? Crashing application? Filtrage incorrect sur certaines colonnes ou quelque chose? – Reniuz
Est-ce que certains test et si vous regardez votre requête ... vous trouverez un 'ou' non pertinent qui peut causer – Reniuz
Mais sans ou requête loke comme ceci (nom comme '% JACK%' ou pays comme '% JACK%' ou ville comme '% JACK%') et (nom comme '% country1%' ou pays comme '% country1%' ou ville comme '% country1%') ça ne marche pas –