IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Systeme de recherche dans listview grace a un combobox


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    IUT
    Inscrit en
    Novembre 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : IUT
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 14
    Points : 14
    Points
    14
    Par défaut Systeme de recherche dans listview grace a un combobox
    Bonjour à Tous,
    J'ai un gros soucis, ça fait deux jours que je cherche mais en vain.
    Voici mon probleme, j'ai 4 combobox rempli et un listview de 4 colonnes. Chaque colonnes de la listview contient respectivement les données de chaque combobox. J'ai mis les combobox pour faciliter la recherche aux utilisateurs. Cependant j'arrive pas a faire un systeme de recherche performant. J'aimerai simplifier la recherche dans la combo, la valeur du combo me selectionne et me met en premier position celui de la listview. J'ai mis aussi un textbox mais toujours rien. Le seul truc que j'ai trouvé avec les listview est finditemwithtext et ceci ne permet de trouver qu'une seule valeur.
    Tres importants la recherche car les données dans la listview atteignent plus de 1000 lignes.
    Est ce que quelqu'un a une idée
    MERCI

  2. #2
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    Bonjour,

    J'ai mis les combobox pour faciliter la recherche aux utilisateurs
    OK, mais on voit pas trop, un petit Screen serait le bienvenu

    Cependant j'arrive pas a faire un systeme de recherche performant.
    Bonne idée, mais la encore on a du mal a te suivre étant donné le peut d'information qu'on a ...

  3. #3
    Membre à l'essai
    Homme Profil pro
    IUT
    Inscrit en
    Novembre 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : IUT
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    Re hunteshiva,
    Oui ta raison, c'est parce que les données sont confidentiels que je mets pas de screen. Désolé sur ce .
    Cependant je joins le code de mon premier combo :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
     Private Sub Cbo1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cbo1.TextChanged
     
            With Cbo1
                'Trie par ordre alphabetique
                .Sorted = True
                If .FindString(.Text) > 0 Then
                    search = .Text.Length
                    .SelectedIndex = .FindString(.Text)
                    .SelectionStart = search
                    .SelectionLength = .Text.Length - search
     
                    Dim lastSearch As String
                    Dim lastIndex As Integer = -1
     
                    Dim searchText As String = Cbo1.Text.Trim()
                    Dim lvItem As ListViewItem = Nothing
                    'Pas de recherche vide 
                    If searchText = "" Then
                        Return
                    End If
                    'nettoyer items sélectionnés
                    If (ListV1.SelectedItems.Count > 0) Then
                        ListV1.SelectedItems(0).Selected = False
                    End If
                    If searchText = lastSearch And lastIndex < ListV1.Items.Count - 1 Then
                        lvItem = ListV1.FindItemWithText(searchText, False, lastIndex + 1)
                    Else
                        'Lancer la recherche depuis le Debut
                        lvItem = ListV1.FindItemWithText(searchText, False, 0)
                    End If
                    lastSearch = searchText
                    If Not (lvItem Is Nothing) Then
                        lastIndex = lvItem.Index
                        ListV1.Focus()
                        lvItem.Selected = True
                        ListV1.TopItem = lvItem
                    End If
                End If
     
            End With
        End Sub
    Et celui du TextBox. En ce qui concerne la textbox, des que je tappe une lettre, elle trouve sur la listview le mot de la Premier lettre corespondante. Et effectivement on saisie plus si on remet pas la souris a l'endroit ou l'on etait.
    Ce que je veux c'est des que l'utilisateur tape une lettre, que soit pour le combo ou le textbox filtre dans la listview l'ensemble des mots commençant par cette lettre et que l'utilisateur continu a taper le mot et le filtre se fait progressivement.
    Voici la code en tant que telle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     Dim trouve As ListViewItem = ListV1.FindItemWithText(SearchBox.Text)
            ListV1.Focus()
            trouve.Selected = True
            ListV1.Items(trouve.Index).Selected = True
            trouve.EnsureVisible()
    J'espere j'ai été clair !!! c'est meme tres complexe pour moi.
    MERCI

  4. #4
    Membre à l'essai
    Homme Profil pro
    IUT
    Inscrit en
    Novembre 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : IUT
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    Bonjour et merci pour vos reactions.
    J'ai résolu mon probleme en trouvant la solution

    La fonction est deja inclue en vb.net avec
    autocompletemode

    Pour ce qui à ça interresse voila

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    With Cbo3
                .Sorted = True
                .AutoCompleteMode = AutoCompleteMode.Suggest
                .AutoCompleteSource = AutoCompleteSource.ListItems
            End With
    Cependant je bloque encore sur un point.
    Je sais je bloque et j'avance JAMAIS

    Ce que je veux a nouveau c'est de savoir si c'est possible de s'upprimer tout les elements non selectionnée d'une listview ??

Discussions similaires

  1. Recherche dans une table via un ComboBox
    Par Gbedjanhoungbo Jean dans le forum ADO.NET
    Réponses: 1
    Dernier message: 10/11/2014, 16h02
  2. [Débutant] Recherche dans une table via un ComboBox
    Par Gbedjanhoungbo Jean dans le forum VB.NET
    Réponses: 0
    Dernier message: 05/12/2013, 19h07
  3. [AC-2003] Recherche dans listview
    Par maclolo2 dans le forum IHM
    Réponses: 3
    Dernier message: 28/06/2012, 15h32
  4. [vb.net][debutant]Recherche dans une listview
    Par Yolak dans le forum Windows Forms
    Réponses: 7
    Dernier message: 16/07/2007, 21h39
  5. [Débutant]Recherche dans une Listview
    Par PierreBord dans le forum Composants VCL
    Réponses: 7
    Dernier message: 16/02/2006, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo