RECHERCHE DE DONNEES DANS UN DATAGRIDVIEW LIEE A UNE BASE

fifalianah Messages postés 5 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 8 janvier 2010 - 8 janv. 2010 à 12:37
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 8 janv. 2010 à 14:44
slt tt le monde! j'ai un datagridview ki est connecté à une table MATERIEL et affiche les données de cette table.
Ce que je veux faire c'est effectuer une recherche dans ce gridview.
Dans ma forme, il y a un textbox qui sert à saisir ce que l'on recherche. et en cliquant sur un bouton RECHERCHER, jveu faire en sorte que seules les données LIKE textbox s'affichent dans le gridview.Pouvez-vous me donner un exple de code que je pourrai mettre dans mon bouton? merci

3 réponses

bachbach75 Messages postés 15 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 27 janvier 2010
8 janv. 2010 à 12:52
Tu fais un compteur entier qui parcours toutes les ligne du GridView en testant en même temps si la valeur de cette case = la valeur du textbox si oui tu change la couleur de cette case, sinon tu fais rien.

Public Void Recherche(DataGridView GridView, TextBox TB)
{
for (int i=0, i<= GridView.Row.Count, i++)
{
if (GridView.row[i].Value==TB.text)
{
GridView.row[i].BackColor = Color.Blue;
}
else
i+=1;
}
}

Je me rappel pas des propriétés d'un DataGridView et les Color aussi. Enfin c'est l'idée qui compte.

Faut toujours demander
0
bachbach75 Messages postés 15 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 27 janvier 2010
8 janv. 2010 à 12:53
Supprime le ELSE et le i+=1;, je me suis trompé

Faut toujours demander
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
8 janv. 2010 à 14:44
le plus simple c'est de filtrer la datasource.

En gros, tu bindes la DataGrid sur une DataView et non sur une DataTable.

Exemple :
DataTable maDataTable;
// on part du principe que la DataTable est rempli

DataView view;

if (string.IsNullOrEmpty(maTextBox.Text)) {
   view = maDataTable.DefaultView;
} else {
   view = new DataView(maDataTable, "monChamp like '" + maTextBox.Text + "'", string.Empty);
}

maDataGrid.DataSource = view;
maDataGrid.Bind();




Sébastien FERRAND
Lead Developpeur
Microsoft Visual C# MVP 2005 - 2009
0
Rejoignez-nous