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 :

Dupliquer ligne datagridview


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 46
    Points : 32
    Points
    32
    Par défaut Dupliquer ligne datagridview
    Bonjour,

    Je bute sur un problème avec un datagridview.
    Je souhaite dupliquer une ligne sélectionnée dans un datagridview après avoir cliqué sur un bouton.
    Toutes mes tentatives se soldent par un échec.

    Je pensais utiliser pour cela datagridview.CurrentRow pour récuperer les valeurs de la ligne sélectionner et copier le tout en utlisant datagridview1.rows.AddRange.

    Pourriez vous s'il vous plait m'aider ?

    Merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Il y a une méthode toute faite pour ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        dataGridView1.Rows.AddCopy(indexDeLaLigneACopier)

  3. #3
    Membre éclairé Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Points : 813
    Points
    813
    Par défaut
    Avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    indexDeLaLigneACopier = DataGridView1.CurrentCell.RowIndex
     
    'ou
     
    indexDeLaLigneACopier = DataGridView1.CurrentRow.Index
    PS : désactive la multi sélection.
    Geeker c'est comme manger, on ne peut pas s'en passer !!!

    Tout est objet !!!

    ____________________________________

    http://www.geekingmania.com

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 46
    Points : 32
    Points
    32
    Par défaut
    Merci pour vos réponses.
    En fait cette méthode créé une ligne vide sans récupérer les données de la ligne sélectionnée.
    Je précise que mon datagridview n'est pas lié à une source de donnée.

  5. #5
    Membre éclairé Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Points : 813
    Points
    813
    Par défaut
    Tu peux essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataGridView1.CurrentRow.Clone()
    Mais je ne sais plus s'il te met la ligne copiée après la ligne sélectionnée où à la fin du dgv.

    Ou sinon à la mode bourrine sur ton click de bouton (mais c'est un peu débile d'utiliser des lignes de codes alors qu'ils existent des méthodes toute faite) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Private Sub Tonbouton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tonbouton.MouseClick
     
            DataGridView1.Rows.Add() 'Rajoute une ligne à al fin de ton dgv
            Dim nbligne = DataGridView1.Rows.Count 'récupère lenombre de ligne pour l'index de la ligne ajoutée
     
            For Each dgcell As DataGridCell In DataGridView1.SelectedRows 'parcours chaque cellule de la ligne sélectionnée
     
                DataGridView1.Rows(nbligne).Cells(j).Value = dgcell.Value 'copie chaque cellule de la ligne selectionnée
                j = j + 1
     
            Next
     
    End Sub
    Geeker c'est comme manger, on ne peut pas s'en passer !!!

    Tout est objet !!!

    ____________________________________

    http://www.geekingmania.com

Discussions similaires

  1. Comment changer la couleur d'une Ligne DATAGRIDVIEW ?
    Par mehdiyou dans le forum VB.NET
    Réponses: 1
    Dernier message: 07/04/2008, 13h43
  2. Récupérer lignes datagridview
    Par sistaroro dans le forum VB.NET
    Réponses: 1
    Dernier message: 08/02/2008, 07h41
  3. Assigner position ligne DataGridView
    Par andy38 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/11/2007, 22h18
  4. changer couleur ligne DatagridView
    Par bib34690 dans le forum Framework .NET
    Réponses: 6
    Dernier message: 04/05/2007, 12h03
  5. [C#] Ligne datagridview colorée selon valeur
    Par tikam dans le forum Windows Forms
    Réponses: 3
    Dernier message: 22/08/2006, 17h39

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