Remplir un DataGrid avec les données d'un autre Datagrid
lalouss34
Messages postés8Date d'inscriptionlundi 14 mai 2012StatutMembreDernière intervention10 mai 2013
-
8 mai 2013 à 23:25
Utilisateur anonyme -
10 mai 2013 à 19:31
Bonjour à tous !
Ayant rechercher une solution à mon problème sur le net, je fais appel à vous en espérant obtenir une résolution de ce problème.
Alors voilà, je dispose d'une Form "FormCommande" contenant un DatagridView avec 3 colonnes qui contiennent des données.
Puis une autre Form "FormValidCommande" avec un DatagridView et les mêmes 3 colonnes mais vide.
Ce que je voudrais faire c'est donc de remplir le DatagridView de "FormValidCommande" avec les données du DatagridView de "FormCommande".
Nom des DataGridView de chaques form:
FormCommande ---> DGProdQteChoisis
FormValidCommande ---> DGCommande
Ce que j'ai essayé me retourne ça "System.Windows.Forms.DataGridViewSelectedRowCollection" dans la 1ère Row de
FormValidCommande.DGCommande
voilà mon code avant de changer de form dans FormCommande :
Private Sub BtnSuivant_Click(sender As Object, e As EventArgs) Handles BtnSuivant.Click
DGProdQteChoisis.SelectAll()
Me.Hide()
FormValidCommande.Show()
End Sub
voilà mon code dans l’événement load de FormValidCommande:
Dim test As DataGridViewSelectedRowCollection = FormCommande.DGProdQteChoisis.SelectedRows()
If (FormCommande.DGProdQteChoisis.SelectedCells.Count > 0) Then
DGCommande.Rows.Add(test)
End If
Je ne peux pas vérifier pour le Datagrid maintenant, mais il me semble que le DatagridView a une méthode copy et/ou clone pour reproduire exactement le premier DataGridView dans un second DataGeidView. Tu devrais peut-être regarder cela.
Mais, si c'était moi qui décidait, j'utiliserais une DataTable pour représenter ma commande et je mettrais ma DataTable comme DataSource des deux Datagrid.
lalouss34
Messages postés8Date d'inscriptionlundi 14 mai 2012StatutMembreDernière intervention10 mai 2013 9 mai 2013 à 22:09
Bonjour,
merci de ta réponse
c'est vrai que ta solution serait plus pratique mais je ne sais pas trop comment m'y prendre pour créer un DataTable, il faudrait déjà un DataSet non ?
j'ai cherché sur le net mais les explications ne sont pas très explicit... Si tu sais comment y faire je voudrais bien une petite explication
Ce n'est pas obligatoire, tu peux utiliser une/des tables sans les intégrer à un DataSet. L'intérêt du DataSet est de regrouper tes tables dans un endroit unique et probablement de faciliter les opérations sur plusieurs tables en même temps. Moi, j'aime bien en mettre un parce que cela permet de sauvegarder toutes les tables dans un fichier XML unique avec une seule instruction et deux instructions si tu veux ajouter un schéma. Et pour les récupérer ensuite, cela prend juste deux lignes.
Pour l'utilisation d'un DataSet il faut avoir un lien avec une BDD ?
Non. Tu peux utiliser un (des) DataSet(s) sans aucune connexion à une BD externe. Toute opération de stockage ou traitement de données peut être effectuée dans ADO.net sans connexion externe. (Exemple un "catalogue" des fichiers de ton disque.)