salut a tous,
j'ai un probleme et j ai besoin de votre aide, j'ai une listbox des donnees et je veux faire un drag & drop de ses donnees la vers un datagrid infragistics
est ce que vous pourriez m'aider
merci
salut a tous,
j'ai un probleme et j ai besoin de votre aide, j'ai une listbox des donnees et je veux faire un drag & drop de ses donnees la vers un datagrid infragistics
est ce que vous pourriez m'aider
merci
Salut,
Le Drag & Drop n'est pas une nouveauté WPF et est cité à de nombreuses reprises sur le net. C'est ça qui te pose problème ou c'est l'ajout d'une ligne dans le composant DataGrid infragistics ?
[Edit] Pour info, un Drag & Drop (je ne connais pas le contrôle infragistics en question, mais il ne doit pas déroger à la règle s'il est bien fait) peut s'implémenter de la façon suivante :
En résumé, tu dois t'abonner à l'évènement MouseMove sur ton ListBox (ou bien tout contrôle contenant des données à déplacer), tu récupères les données de la ListBox lorsque le bouton gauche de la souris est pressé.
Code c# : 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 private void DataGrid_MouseMove(object sender, MouseEventArgs e) { if (e.LeftButton == MouseButtonState.Pressed) { // Recup data DragDropEffects effects; DataObject obj = new DataObject(); // Info que l'on copie MonObjet monObj = this.listBox1.SelectedItem as MonObjet; // par exemple obj.SetData(typeof(MonObjet), monObj); // Définition des options du Drag & Drop effects = DragDrop.DoDragDrop(this.listBox1, obj, DragDropEffects.Copy | DragDropEffects.Move); } }
Ensuite, il faut :
- autoriser ton DataGrid (ou bien tout contrôle sur lequel on va déposer les données) à recevoir des données par drag & drop :
-> cf. propriété AllowDrop à True
- abonner la DataGrid à l'évènement DragOver :
Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 private void DataGrid_DragOver(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(typeof(MonObjet))) { e.Effects = System.Windows.DragDropEffects.Copy; } else { e.Effects = System.Windows.DragDropEffects.None; } }
- abonner le DataGrid à l'évènement Drop et faire ce qu'il faut (dans ton cas ajouter les données au dataGrid) :
Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private void BdRgrpt_Drop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(typeof(MonObjet))) { // Ajout d'une ligne // et là je ne connais pas le composant en question... } }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager