lemmingperceval
Messages postés128Date d'inscriptionmardi 18 décembre 2007StatutMembreDernière intervention 2 août 2009
-
14 mars 2008 à 12:02
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 2016
-
16 mars 2008 à 15:56
Bonjour
J'essaie de faire des filtres de recherche sur un dataGridView.
Dès lors, j'ai une comboBox qui contient tous les champs de la table contenu dans le dataSet et un textBox où j'insère la valeur que je recherche.
Pour faire le filtre, j'utilise LINQ.
var query =
from f
in myDataSett.MyTable
where f.Id.
ToString().ToUpper().Contains(txtFindValue.Text.ToUpper())
select f;
Le problème est que je ne veux pas faire un switch pour chaque champ de ma table.
J'ai vu qu'il y a la méthode Field<>, le souci c'est qu'il faut lui donner un type de retour, et je ne sais pas quel type sera retourné. Ca dépendra du champ sélectionné.
lemmingperceval
Messages postés128Date d'inscriptionmardi 18 décembre 2007StatutMembreDernière intervention 2 août 20096 14 mars 2008 à 19:06
ShareVB, y a vraiment des jours où il faudrait pas se lever hein dis!
Bien joué, ca marche.
...Tous les types descendent de la class object. Aie aie aie
Merci bien pour le coup de pouce
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 20106 15 mars 2008 à 20:12
Salut,
Tu m'intéresse !
Tu peux me montrer le code que tu utilise ou le principe plus détaillé ?
1- Je n'ai jamais utilisé Linq
2- Je fais aussi des recherches dans un DGV en utilisant un COMBO mais je pense de maniere plus plus crapuleuse
lemmingperceval
Messages postés128Date d'inscriptionmardi 18 décembre 2007StatutMembreDernière intervention 2 août 20096 16 mars 2008 à 11:48
Salut,
Ecoute je n'ai pas vraiment le temps de faire un code aujourd'hui, mais demain je me débrouille pour t'en faire un si tu veux.
Par contre, tu peux déjà allé voir cet article : http://www.csharpfr.com/tutorial.aspx?id=784 Il parle de LINQ à un moment donné. Regarde plus précisément LINQ TO DATASET.
Linq c'est en fait un moyenne d'interrogé toute sorte d'élément, comme par exemple un object.
L'idée est de remplir un dataSet avec des données d'une table, ensuite de faire une requete sur ce dataset et d'envoyer le résultat sur un dataGridView. C'est pas énorme compliqué.
Ca marche comme ca? Tu as déjà quelques astuces.
Bonne journée
Vous n’avez pas trouvé la réponse que vous recherchez ?
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 20106 16 mars 2008 à 12:41
Merci
Je vais lire cela avant d'aller dormir
L'idée est de remplir un dataSet avec des données d'une table, ensuite de faire une requete sur ce dataset et d'envoyer le résultat sur un dataGridView. C'est pas énorme compliqué.
Pour le moment je replis une table dans un dataset avec un query SQL et puis je remplis un datagrid avec cette table
Si je te comprend Linq serait une couche supplémentaire pour faire des select dans cette table afin de remplir le DGV a la carte sans reattaquer la DB en SQL
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 16 mars 2008 à 15:56
salut,
dans une optique relativement plus simple que Linq (qui peut être toutefois très pratique), il existe des DataView qui te permettent de faire un tri et un filtrage dynamique :
quelque chose pour l'initialisation comme :
DataView dv = new DataView(dtTableDataTable)
dv.RowFilter = "col LIKE '%azer%'"
dv.Sort = "col DESC, col2 ASC"
datagridview.datasource = new bindingsource(dv,nothing) 'on peut surement se passer de bindingsource...
ensuite dès que tu changes une propriétés de "dv" ca update ton datagridview