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 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 - 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
A voir également:

3 réponses

vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
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 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169 > 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 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
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 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
9 janv. 2016 à 08:16
oups, mon satané correcteur d'orthographe à remplacé ListView, par Interview.... Lire donc l'inverse.
0
Rejoignez-nous