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 :

recupere valeur d'une listbox


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Étudiant
    Inscrit en
    Février 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2011
    Messages : 48
    Par défaut recupere valeur d'une listbox
    Bonjour,
    Apres une apres-midi de rehcerche je me decide à creer une discussion.
    Je dispose de deux listbox ainsi que deux bouton contenus dans un formulaire.
    Au chargement de la fenetre la premiere listbox est remplie à partir d'une datatable.
    Le premier bouton permet de transferer un element selectionné de la premiere listbox à la deuxieme.
    Le deuxieme bouton est censé faire la manipulation inverse, c'est à dire transferer un element de la deuxieme listbox à la premiere.
    Malheureusement, je n'arrive pas à recuperer la valeur de l'element selectionnée. La methode getItemText me renvoie au mieux un entier.
    Voici le code:
    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
    Sub GestionProductionLoad(sender As Object, e As EventArgs)
    		'remplissage de la datatable
    		Me.datatable = MainForm.getconnectionprincipale.GetData("select poincon from soudeurs",MainForm.getconnectionprincipale.getConnection())
    		'remplissage de la liste des soudeurs
    		listesoudeurs.datasource = me.datatable
    		listeSoudeurs.displaymember = "poincon"
    		'initialisation liste participants
    		listeParticipants.displaymember = "poincon"
    	End Sub
     
    	'ajoute un participant
    	Sub BoutonAjouterClick(sender As Object, e As EventArgs)
    		If listeSoudeurs.SelectedItems.Count = 1 Then
    			'ajoute le soudeur selectionne a la liste des participants
    			listeParticipants.Items.Add(listeSoudeurs.SelectedItem)
    			'supprimme le soudeur selectionne du datatable
    			Me.datatable.Rows.removeat(listeSoudeurs.SelectedIndex)
    			'rafraichit la liste des soudeurs à partir du dattable modifié
    			listesoudeurs.datasource = Me.datatable
    		End If
    	End Sub
     
    	'supprimme un participant
    	Sub BoutonSupprimmerClick(sender As Object, e As EventArgs)
    		If listeParticipants.SelectedItems.Count = 1 Then
    			Dim ligne As System.Data.DataRow
    			ligne = Datatable.NewRow()
    			ligne.Item(0) = listeParticipants.GetItemText(listeParticipants.SelectedItem)
    			Datatable.Rows.Add(ligne)
    			listesoudeurs.datasource = Me.datatable
    			listeParticipants.Items.Remove(listeParticipants.SelectedItem)
    		End If
    	End Sub
    Edit: j'ai trouve, le fait de définir la propriété datasource de la listbox m'empechait de récupérer la valeur d'un item. Finalement j'ajoute chaque item du datatable à la listbox individuellement et la méthode getitemtext me permet de récupérer la valeur.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonjour,
    pour info, c'est faisable aussi avec des listbox liées à des sources de données.
    Vue que les suppressions et ajouts se font dans ce cas au niveau des datatables, il faut en créer une pour la seconde listbox.

    On la déclare en global :
    On la construit dans le load et on "binde" les listbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            ' Création d'une DataTable Vide avec une colonne "poincon",
            ' pour le second ListBox.
            table = New DataTable("Table")
            Dim column As New DataColumn("poincon")
            table.Columns.Add(column)
     
            'remplissage de la liste des soudeurs
            listeSoudeurs.DataSource = Me.datatable
            listeSoudeurs.DisplayMember = "poincon"
            'initialisation liste participants
            listeParticipants.DataSource = table
            listeParticipants.DisplayMember = "poincon"
    Enfin les boutons suppression ou ajout :
    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
        'ajoute un participant
        Sub BoutonAjouterClick(ByVal sender As Object, ByVal e As EventArgs) Handles BoutonAjouter.Click
            If listeSoudeurs.SelectedItems.Count = 1 Then
                'ajoute le soudeur selectionne a la liste des participants
                Me.table.Rows.Add(listeSoudeurs.GetItemText(listeSoudeurs.SelectedItem))
                'supprimme le soudeur selectionne du datatable
                Me.datatable.Rows.RemoveAt(listeSoudeurs.SelectedIndex)
                'rafraichit la liste des soudeurs à partir du dattable modifié
                'listeSoudeurs.DataSource = Me.datatable
            End If
        End Sub
     
        'supprimme un participant
        Sub BoutonSupprimmerClick(ByVal sender As Object, ByVal e As EventArgs) Handles BoutonSupprimmer.Click
            If listeParticipants.SelectedItems.Count = 1 Then
                Dim ligne As System.Data.DataRow = datatable.NewRow()
                ligne("poincon") = listeParticipants.GetItemText(listeParticipants.SelectedItem)
                datatable.Rows.Add(ligne)
                'listeSoudeurs.DataSource = Me.datatable
                Me.table.Rows.RemoveAt(listeParticipants.SelectedIndex)
            End If
        End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Recuperer Valeur d'une ListBox
    Par techcity dans le forum Windows Phone
    Réponses: 5
    Dernier message: 24/03/2012, 14h37
  2. Recuperer les valeur d'une listbox sur un page web
    Par will97 dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 02/03/2009, 04h39
  3. recupere valeur d'une balise select
    Par naourass dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 03/11/2005, 10h18
  4. [STRUTS] Recuperer valeurs d'une url enrichi ?
    Par Ev3rGlide dans le forum Struts 1
    Réponses: 3
    Dernier message: 07/04/2005, 11h39
  5. Apelle d une fonction js avec la valeur d'une listbox
    Par echecetmat dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/02/2005, 16h53

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