Filtrer listview avec combobox

Thomardcore Messages postés 2 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 7 novembre 2009 - 5 nov. 2009 à 11:11
Thomardcore Messages postés 2 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 7 novembre 2009 - 7 nov. 2009 à 12:25
Bonjour,

Actuellement, je suis entrain de réaliser un petit programme (Sous VB 2008 Express Edition) permettant d'aider à la gestion de produits bloqués pour défaut qualité.

Sur un formulaire, j'ai un listview qui permet de visualiser le contenu d'une base de données Access (Jusque là RAS !!!). Ensuite, je charge tous les items de chaque colonnes de ma bdd dans des combobox(Egalement RAS). Celles ci vont me permettre de filtrer le listview en fonction des items sélectionnés dans les combobox. Et c'est là que ça ce gate !!! Je suis bloqué ...

J'ai fait le tour des forums sans résultat.

Please Help Me !!!!

2 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
6 nov. 2009 à 15:55
Bonjour,

Pourquoi faire simple quand on peut faire compliqué ???

Tu as mal choisi, un listview n'est pas spécialement fait pour travailler avec des données.

Utilise un DataGridView, pour le remplir, utilise sa propriété DataSource en passant par un BindingSource et utilise la propriété Filter de celui-ci pour filter via un combo ou autre.

'
Dans le Form Load
Dim MaTable As DataTable '<= Table de données
[Code qui remplis ta table, requête select etc...]

Dim BS As New BindingSource
BS.DataSource = MaTable
BS.DataMember = < Ici le nom de la colone retouné par la valeur SelectedValue (Clé primaire généralement utilisé)
MonDataGridView.DataSource = BS

Pour remplir tes combo utilise la même méthode
ComboBox1.DataSource = BS
ComboBox1.DisplayMember = "Nom" <= Nom de la colonne a afficher
ComboBox1.ValueMember = "Nom" < Ici le nom de la colone retouné par la valeur SelectedValue

Dans le SelectedIndexChange de ton combo

Dim BS As BindingSource = DataGridView1.DataSource
BS.Filter ComboBox1.ValueMember & " " & ComboBox1.SelectedValue


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Thomardcore Messages postés 2 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 7 novembre 2009
7 nov. 2009 à 12:25
Merci pour l'info !!!! Nickel !!!!
0
Rejoignez-nous