Bonjour à tous,
Dans cadre d'une application de gestion, je dois crééer une multitude de listeBox (Nombre inconnu) en fonction d'une table de ma base de données. Puis, remplir ces listebox en fonction d'une autre table.
L'exemple pour mon cas est le suivant :
Je dois afficher l'ensemble des chefs de mon service (un chef = une listebox) puis, pour chaque listebox, les remplir avec les employés travaillant pour ces chefs.
Donc j'appuie bien sur le fait que les listebox sont créées dynamiquement.
Jusque ici, pas de problèmes.
Voila ce que représente ce que je viens de dire en code vb.net.
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 dim liste(0) as listbox dim lab(0) as label dim req as string = "select Nom from Chef" 'selection de tout les noms de chefs de ma table Dim Cd as New SqlCommand(req,cn) 'où cn est ma chaine de connexion. dim rd as SqlDataReader dim rd2 as SqlDataReader rd = cd.executeReader() while rd.read() Redim liste(liste.lenght +1) Redim lab(lab.lenght +1) liste(i) = New ListBox 'Ajout d'une nouvelle ListeBox lab(i) = new label ' label qui se place au dessus de la liste et qui affichera le nom du chef liste(i).location = new Point(z*140,20) ' place les listebox les unes a cotes des autres liste(i).allowdrop = true ' Accepte de recevoir des objets du drag&drop lab(i).location = new Point(z*140,15) lab(i).text = "Chef_en_cours" dim reqAgent as string = "select nomAgents from Agent where Chef='Chef_en_cours' " dim cd2 as new SqlCommand(reqAgent,cn) rd2 = cd2.executeReader while rd2.read() liste(i).items.add(rd2.GetValue("nom_agent")) 'ajout des agents dans la liste en cours end while me.controls.add(list(i)) 'Ajoute la liste dans le form me.controls.add(lab(i)) 'ajoute le label dans le form i = i+1 z = z+1
Maintenant, le problème est que je voudrais pouvoir par le Drag&Drop sélctionner un agent et le déplacer vers une autre listeBox (d'où l'application de gestion).
En temps normal, il suffit d'ajouter du code pour les évenements MouseDown, DragOver et dragDrop pour les listes affichées mais comme ici, je n'ai pas physiquement les listebox, je ne sais pas comment on peut ajouter le code pour ces évenements depuis le code que je viens de vous écrire.
Pouvez vous m'aider ?
Merci d'avance,
Au plaisir de vous lire
Partager