Bonjour,
Après la mise au point d'un code test exécutant du Drag-Drop entre DataGridView (la discussion Drag & Drop entre DataGridView), je souhaite maintenant faire du Copier-Coller ( <CTRL><C> / <CTRL><V> ) entre ces DGV.
Voici ma procédure de test :
Il me semble que seule la partie <CTRL><V> pose un problème. Un Selection.GetDataPresent renvoie True. Mais une erreur "La référence d'objet n'est pas définie à une instance d'un objet." vient à la ligne "For Each R ... ".
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 Private Sub DGV_KeyUp(sender As Object, e As KeyEventArgs) Handles DGV1.KeyUp, DGV2.KeyUp Dim DGV As DataGridView = CType(sender, DataGridView) If e.Control Then MessageBox.Show(sender.name) If e.KeyCode = Keys.C Then Clipboard.SetDataObject(DGV.SelectedRows) Else If e.KeyCode = Keys.V Then Dim Selection As IDataObject = Clipboard.GetDataObject() For Each R As DataGridViewRow In Selection.GetData(GetType(DataGridViewSelectedRowCollection)) DGV.Rows.Add(R) Next End If End If End If End Sub
Qu'ai-je mal programmé ?
Cordialement,
Sam
Partager