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 une DataTable dans une autre sans garder de liens entre elles


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 81
    Par défaut Copier une DataTable dans une autre sans garder de liens entre elles
    Bonjour,


    Je copie actuellement une DataTable dans une autres, mais j'ai un problème car quand je supprime des colonnes d'une, celà affecte la première.

    voici les code que j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    dtRoueChecked = dtRoue.Copy
     
    dtRoueChecked.Columns.RemoveAt(0)
    dtCRoueChecked.Columns.RemoveAt(3)
    dtRoueChecked.Columns.RemoveAt(14)
    dtCRoueChecked.Columns.RemoveAt(29)
    dtRoueChecked.Columns.RemoveAt(35)
    Donc les colonnes supprimées dans la deuxième suppriment aussi celles de la première, et je souhaiterais que les deux ont les mêmes valeurs mais soit indépendante l'une de l'autre quand il y a modification.


    Cordialement,
    Nicolas

  2. #2
    Membre émérite
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Par défaut
    Bonjour,

    C'est étonnant comme comportement...ton datatable de départ est il bindé à une datagrid ou un contrôle ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 81
    Par défaut
    Oui je suis surpris, car je contrôle tout ça via un DatatGirdView et deux boutons, un pour activer la permière DataTable et le deuxième bouton pour l'autre.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub BT_Fermer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_Fermer.Click
           DataGridView1.DataSource = dtRoue
    End Sub
     
    Private Sub BT_Ouvrir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_Ouvrir.Click
           DataGridView1.DataSource = dtRoueChecked
    End Sub

    et à chaque fois les colonnes se suppriment dans les deux...


    Cordialement,
    Nicolas

  4. #4
    Membre émérite
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Par défaut
    Ca doit venir de là, car le .Copy() (comme le .Clone()) reprend toutes les dépendances (et donc je suppose les binding) de l'objet de départ.

    Donc lorsque tu supprimes sur une datatable, ça update la datagrid qui update l'autre datatable...

    Essayes de supprimer le binding sur le nouveau

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 81
    Par défaut
    En fait tout marchait correctement, si ce n'est que je n'ai pas fait attention dsl.

    Juste que les colonnes que j'ai supprimé de la deuxième se mettent à la fin dans la DataGridView lorsque je demande d'afficher la première... Comme j'en ai 70, j'ai pas été jusqu'au bout.

    Je savais pas que la DataGridView update de cette façon. Je pensais qu'il reprennait la même structure de la DataTable, donc les colonnes supprimées reprennent leurs places... Erreur !

    En tout cas merci bcp pour ton aide, car sans regarder pour le binding, je n'aurai pas regardé les propriétés et vu le Columns.Count passé de 65 à 70...


    Cordialement,
    Nicolas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  2. Réponses: 6
    Dernier message: 16/06/2011, 12h45
  3. Insérer une datatable dans une base de données SQL sans boucle
    Par reto2011 dans le forum Développement
    Réponses: 1
    Dernier message: 28/01/2011, 19h56
  4. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  5. Réponses: 2
    Dernier message: 02/06/2006, 11h26

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