IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Copier/ coller d'une Row d'un Datagriview 2 dans Datagridview 1


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    developpeur
    Inscrit en
    Décembre 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 141
    Par défaut Copier/ coller d'une Row d'un Datagriview 2 dans Datagridview 1
    Re bonjour,


    Après beaucoup de recherche sur le internet (notamment sur des forums américains) j'essay en vain de copier coller une ligne d'un Datagridview 2 dans un autre datagridview 1 par l'évènement du DoubleClick.

    Les seuls bout d'exemples que j'ai trouvé mais que je n'ai pas réussi à appliqué sont sur cette page :

    http://www.xtremevbtalk.com/showthread.php?t=188245

    A priori cela serai possible par une fonction "Clone"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    'This is where I Add the DataTable to the DataSet
    objDataSet1.Tables.Add(objDataTable1)
     
    'This is where I set the Datasource of the Datagrid to be populated
    dgCarList1.DataSource = objDataSet1.Tables(0) 
     
    'This is where I copy a row from one datagrid's datasource to the new datasource
    objDataTable1.ImportRow(objDataTable.Rows(intSelectedRow))
    "Nevermind I finally solved it. Here's what I did:

    objDataTable1 = objDataTable.Clone

    That got me the columns I needed for the new Table. After that, the importrow did it's thing and the new row showed up in the new datagrid!

    Now I have a lot of formatting to take care of, but at least the data is there!

    MKoslof, thanks for the time attention you gave to this thread, I appreciate that."


    Je précise que mes 2 DGV sont bindés ducoup je me demande si cela est possible ou non ??

    Avez-vous déjà réussi à faire cette manip ??

  2. #2
    Membre émérite
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Par défaut
    Jeremy,

    Un bout de code qui peut aider :
    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
    Private Sub Form1_Load(sender As Object, e As EventArgs)
     
    	For Each cOrigine As DataGridViewColumn In dataGridViewOrigine.Columns
    		Dim cDestination As DataGridViewColumn = DirectCast(cOrigine .Clone(), DataGridViewColumn)
     
    		dataGridViewDestination.Columns.Add(cDestination )
    	Next
    End Sub
     
     
    Private Sub dataGridViewOrigine_CellContentDoubleClick(sender As Object, e As DataGridViewCellEventArgs)
    	Dim rDestination As DataGridViewRow = DirectCast(dataGridViewDestination.Rows(0).Clone(), DataGridViewRow)
    	Dim i As Integer = 0
    	For Each cell As DataGridViewCell In dataGridViewOrigine.Rows(e.RowIndex).Cells
    		rDestination.Cells(i).Value = cell.Value
    		i += 1
    	Next
    	dataGridViewDestination.Rows.Add(rDestination )
    	dataGridViewDestination.Refresh()
    End Sub

  3. #3
    Membre très actif
    Homme Profil pro
    developpeur
    Inscrit en
    Décembre 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 141
    Par défaut
    Merci pour ta proposition

    Dans ton exemple "DataGridViewColumn" serai mon Datagridview1 et "dataGridViewOrigine" serai mon Datagridview2 ??

  4. #4
    Membre émérite
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Par défaut
    Non,
    DataGridViewColumn est DataGridViewColumn
    dataGridViewOrigine est dataGridView1
    dataGridViewDestination est dataGridView2

  5. #5
    Membre très actif
    Homme Profil pro
    developpeur
    Inscrit en
    Décembre 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 141
    Par défaut
    J'ai testé sur la base de ton exemple mais rien ne se passe :

    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
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
            For Each cOrigine As DataGridViewColumn In DataGridView2.Columns
                Dim cDestination As DataGridViewColumn = DirectCast(cOrigine.Clone(), DataGridViewColumn)
     
                DataGridView1.Columns.Add(cDestination)
            Next
     
        End Sub
     
     
    Private Sub DataGridView2_CellContentDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView2.CellContentDoubleClick
     
            Dim rDestination As DataGridViewRow = DirectCast(DataGridView1.Rows(0).Clone(), DataGridViewRow)
            Dim i As Integer = 0
            For Each cell As DataGridViewCell In DataGridView2.Rows(e.RowIndex).Cells
                rDestination.Cells(i).Value = cell.Value
                i += 1
            Next
            DataGridView1.Rows.Add(rDestination)
            DataGridView1.Refresh()
     
     
     
        End Sub
    Mon DGV1 est ma destination et mon DGV2 et ma bibliothèque ou je souhaiterai piocher mes lignes à copier.

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 337
    Par défaut
    Bonsoir,

    Dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim rDestination As DataGridViewRow = DirectCast(DataGridView1.Rows(0).Clone(), DataGridViewRow)
    tu doit faire référence à la ligne ou a eu lieu le click

    Soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim rDestination As DataGridViewRow = DirectCast(DataGridView2.Rows(e.RowIndex).Clone(), DataGridViewRow)

Discussions similaires

  1. copier-coller d'une treeview vers elle-même
    Par fredonouille dans le forum Windows Forms
    Réponses: 2
    Dernier message: 26/05/2008, 09h12
  2. Copier coller sur une listView
    Par themahg dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/05/2008, 12h21
  3. [VBA] Pb avec Copier/coller d'une feuille Excel
    Par sebastien_oasis dans le forum Excel
    Réponses: 3
    Dernier message: 14/12/2007, 11h08
  4. [VBA-E]Faire un Copier coller d'une ListBox à une autre
    Par anubisigfrid dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/03/2007, 14h40
  5. [VB.NET] copier coller d'une valeur
    Par mic56 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/06/2004, 11h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo