Bonjour à tous,
Comment puis faire du Drag/Drop à partir d'un ListBox1 vers un DbCtrlGrid et est-ce possible.
Merci
Bonjour à tous,
Comment puis faire du Drag/Drop à partir d'un ListBox1 vers un DbCtrlGrid et est-ce possible.
Merci
Je ne sais pas si j'ai bien compris ta question mais :
- Tu mets la propriété DragMode de ta liste à dmAutomatic
Et ensuite, sur l'événement onDragOver de ton DBGrid tu mets :
Enfin dans l'événement OnDragDrop de ta DBGrid, tu ajoutes le code que tu veux éxécuter pour ajouter quelque chose dans ta base. Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 procedure TForm1.DBGrid1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin DBGrid1.DragMode:=dmAutomatic end;
Alors ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 procedure TForm1.DBGrid1DragDrop(Sender, Source: TObject; X, Y: Integer); begin ADOTable.Insert; ADOTable.FieldByName('TOTO').AsString:='essai'; //etc end;
Bonjour,
Pour réaliser un Drag & Drop d'une listBox vers un DBControl qui se touve sur un dbCtrlGrid tu peux procéder de la manière suivante:
On suppose que le drag & drop s'effectue d'une listBox vers un DBEdit qui se trouve sur le dbCtrlGrid (rowCount = 1).
Paramétrage du listBox
1) Propriété dragMode = dmAutomatic
2) Coder de la façon suivante l'événement onEndDrag du listBox
Paramétrage du DBEdit sur le dbCtrlGrid
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 procedure TForm1.ListBox1EndDrag(Sender, Target: TObject; X, Y: Integer); begin //vérifier que le destinataire est un DBEdit if target is TDBEdit then //vérifier qu'un item du listBox est sélectionné if (Sender as TListBox).ItemIndex <> -1 then begin DBEdit2.Text := (Sender as TListBox).Items[(Sender as TListBox).ItemIndex]; end; end;
Coder de la façon suivante son événement OnDragOver
Ceci reste bien entendu une piste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 procedure TForm1.DBEdit2DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept := Source is TListBox; end;
Bon code.
Cordialement
Partager