Recherche Affichage subitems dans listview

kiki2311
Messages postés
19
Date d'inscription
dimanche 25 janvier 2015
Statut
Membre
Dernière intervention
9 janvier 2016
- 8 janv. 2016 à 18:26
Whismeril
Messages postés
17686
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 août 2022
- 9 janv. 2016 à 08:16
Bonjour à tous
j'essai de faire une gestion de codes postaux pour l'utiliser dans un programme
mon pb est le suivant j'utilise 2 boutons pour la recherche
1 pour recherche ville à partir d'un textbox1 .text dans une listview
cela fonctionne je trouve la ville et la ligne m'affiche les 3 colonnes avec un fond bleu

quand à la recherche du cp je le fais avec la textbox2.text et la rien ne me renvois aucunes données ,je vous joints mon code .
je vous remercie d'avance pour une réponse
cordialement


 Private Sub Bt_Rech_Ville_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt_Rech_Ville.Click


Dim trouveVille As ListViewItem = Lvcp.FindItemWithText(TextBox1.Text)
Lvcp.Focus()
trouveVille.Selected = True
Lvcp.Items(trouveVille.Index).Selected = True
trouveVille.EnsureVisible()
TextBox1.Text = ""


End Sub

Private Sub BtRech_Cp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtRech_Cp.Click

Dim trouveCp As ListViewItem = Lvcp.FindItemWithText(TextBox2.Text)

TextBox2.Text = trouveCp.SubItems(1).Text
Lvcp.Focus()
trouveCp.Selected = True
Lvcp.Items(trouveCp.Index).Selected = True
trouveCp.EnsureVisible()

TextBox2.Text = ""

End Sub

3 réponses

vb95
Messages postés
2930
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
18 août 2022
155
8 janv. 2016 à 21:04
Bonjour
un tour sur MSDN pour comprendre
Public Function FindItemWithText (
text As String,
includeSubItemsInSearch As Boolean,
startIndex As Integer,
isPrefixSearch As Boolean
) As ListViewItem


il y a 4 paramètres
- Text : le texte recherché
- includeSubitemsInSearch : si true recherche dans toutes les colonnes et si false : recherche dans la première colonne uniquement
- startIndex : ligne départ de la recherche
- isPrefixSearch : si false : mot complet et si true : la chaine recherchée peut être une partie d'une cellule
0
kiki2311
Messages postés
19
Date d'inscription
dimanche 25 janvier 2015
Statut
Membre
Dernière intervention
9 janvier 2016

9 janv. 2016 à 00:21
merci pour l'orentation à prendre ,je n'arrive pas à coder ces lignes
bonne soirée .
je vais essayer demain pour comprendre ces fonctions
0
Bonsoir kiki2311,
Réponse rapide sans approfondir,

 Private Sub Bt_Rech_Ville_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt_Rech_Ville.Click

Dim trouveVille As ListViewItem = Lvcp.FindItemWithText(TextBox1.Text)
....

Private Sub BtRech_Cp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtRech_Cp.Click

Dim trouveCp As ListViewItem = Lvcp.FindItemWithText(TextBox2.Text)



Les 2eme lignes de tes 2 fonctions semblent identique hors tu cherche un Nom pour la premiere, et un Code Postal pour la seconde

je pense que cette seconde fonction recherche l'info dans la première colonne et non dans la seconde ...
0
kiki2311
Messages postés
19
Date d'inscription
dimanche 25 janvier 2015
Statut
Membre
Dernière intervention
9 janvier 2016

9 janv. 2016 à 00:03
merci de votre réponse ,mais je ne sais pas comment coder la ligne pour avoir la 2 ieme colonne
0
vb95
Messages postés
2930
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
18 août 2022
155 > kiki2311
Messages postés
19
Date d'inscription
dimanche 25 janvier 2015
Statut
Membre
Dernière intervention
9 janvier 2016

9 janv. 2016 à 00:38
regarde le second paramètre de ma réponse
0
Whismeril
Messages postés
17686
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 août 2022
613
Modifié par Whismeril le 8/01/2016 à 21:59
Bonsoir,

En .Net, les contrôles sont plutôt prévus pour afficher des données que pour les gérer, même s'ils disposent d'outils de recherche.

Il te sera plus simple de faire une recherche sur ta source de données (liste, datatable, ect.) et c'est aussi plus rapide en exécution.

Voici un exemple de binding qui permet un affichage aisé mutli-controles d'une source de données (avec une l'interview, c'est un peu plus compliqué, mais dans ton cas un datagridview ferait très bien l'affaire)
http://codes-sources.commentcamarche.net/faq/1291-utilisation-du-binding-au-travers-de-l-objet-databindingsource

Pour la recherche, renseigne toi sur Linq

Quand j'étais petit, la mer Morte n'était que malade.
George Burns
0
Whismeril
Messages postés
17686
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 août 2022
613
9 janv. 2016 à 08:16
oups, mon satané correcteur d'orthographe à remplacé ListView, par Interview.... Lire donc l'inverse.
0