Recherche Affichage subitems dans listview

kiki2311 19 Messages postés dimanche 25 janvier 2015Date d'inscription 9 janvier 2016 Dernière intervention - 8 janv. 2016 à 18:26 - Dernière réponse : Whismeril 12031 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 22 septembre 2018 Dernière intervention
- 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
Afficher la suite 

Votre réponse

7 réponses

vb95 1667 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 22 septembre 2018 Dernière intervention - 8 janv. 2016 à 21:04
0
Merci
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
kiki2311 19 Messages postés dimanche 25 janvier 2015Date d'inscription 9 janvier 2016 Dernière intervention - 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
Commenter la réponse de vb95
0
Merci
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 ...
kiki2311 19 Messages postés dimanche 25 janvier 2015Date d'inscription 9 janvier 2016 Dernière intervention - 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
vb95 1667 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 22 septembre 2018 Dernière intervention > kiki2311 19 Messages postés dimanche 25 janvier 2015Date d'inscription 9 janvier 2016 Dernière intervention - 9 janv. 2016 à 00:38
regarde le second paramètre de ma réponse
Commenter la réponse de cgsi3
Whismeril 12031 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 22 septembre 2018 Dernière intervention - Modifié par Whismeril le 8/01/2016 à 21:59
0
Merci
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
Whismeril 12031 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 22 septembre 2018 Dernière intervention - 9 janv. 2016 à 08:16
oups, mon satané correcteur d'orthographe à remplacé ListView, par Interview.... Lire donc l'inverse.
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.