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.