Ajouter une ligne dans datagridview liée aune base de donnés

cs_oujdinaute Messages postés 1 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 11 juillet 2010 - 11 juil. 2010 à 19:15
 Utilisateur anonyme - 13 août 2012 à 00:21
salut tt le monde et bon courage
J'ai une datagridview nommée DGACHATS attachée à une table ACHATS d'une base de donnés GESTION par l'intermédiaire d'un dataset GESTIONDATASET.
Les champs de la table achats sont : référence, quantité, prix_ achats
Dans form1 j'ai :
.la datagridview DGACHATS
. 3 zones de texte : reference.text, quantité.text, prix_achats.text pour faire la saisie des données que je veux ajouter à DGACHATS puis à ma table ACHATS.
.Un bouton AJOUTER dont le code est :
Me.DGACHATS.Rows.Add ()
Me.DGACHATS.Item (0, count).Value = TextBox1.Text
Me.DGACHATS.Item (1, count).Value = TextBox2.Text
Me.DGACHATS.Item (2, count).Value = TextBox3.Text
Quand je click sur le bouton AJOUTER le message suivant apparait « impossible d'ajouter par programme des lignes à la collection de lignes datagridview lorsque le contrôle est lié aux données », alors je me suis bloqué ici, quelqu'un peut m?aider ?

7 réponses

coldman Messages postés 7 Date d'inscription mardi 11 décembre 2007 Statut Membre Dernière intervention 11 juillet 2010
11 juil. 2010 à 23:13
Bonsoir,

Enfaite il faudra que vous ajoutiez vos informations sur votre DataTable au lieu du DatagridView et automatiquement les données affichées dans le DataGridView vont se mettre à jour.
Le code est le suivant :
'On crée un DataRow qui respecte la structure de la table achat
Dim dr As DataRow = GESTIONDATASET.Tables("Achat")
'On rempli notre DataRow
dr(0) = reference.Text 
dr(1) = quantité.Text 
dr(2) = text, prix_achats.Text
'On ajoute notre ligne à la table Achat (Virtuellement)
GESTIONDATASET.Tables("Achat").Rows.Add(dr)
'Et voilà votre DataGridView va afficher votre nouvelle ligne.

J'espere vous avoir aider :) bonne programmation
0
cs_anassaldo Messages postés 16 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 6 septembre 2012
12 août 2012 à 18:23
Salut,
j'ai une interface qui contient une datagrid qui comporte deux champs (combobox et textbox)...le combo est liés aux données de la base !!
Le combo est chargé des différentes article de la base,ainsi que le 2éme champs doit contenir la quantité.
ce que je veux : c'est de donner la main a l'utilisateur de saisir plusieurs ligne,et chaque nouvelle ligne doit charger le combo de la base.
Problème :"Impossible d'ajouter par programmation des lignes à la collection de lignes DataGridView lorsque le contrôle est lié aux données"
Ou bien la grid affiche au chargement autant de ligne que d'article dans la base ce qui j'ai pas bien aimé.
Si pouvez me proposez vos Solution SVP !
Merci d'avance :)
Cordialement
0
Utilisateur anonyme
12 août 2012 à 18:27
Bonjour,

Des fois, c'est plus rapide de lire les réponses déjà fournies que de reposer la même question au sujet du même problème avec le même
message d'erreur.
0
cs_anassaldo Messages postés 16 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 6 septembre 2012
12 août 2012 à 18:38
je crois que c pas le méme probléme,des fois on précipite de dire des choses :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
12 août 2012 à 19:06
PREMIER MESSAGE ENB HAUT DE LA PAGE:


« impossible d'ajouter par programme des lignes à la collection de lignes datagridview lorsque le contrôle est lié aux données »,


TON MESSAGE


Problème :"Impossible d'ajouter par programmation des lignes à la collection de lignes DataGridView lorsque le contrôle est lié aux données"
ž

Et puis le règlement prévoit que tu fournisses ton code. Cela fait que arrête de nous prendre des cons et fournis ton code.
0
cs_anassaldo Messages postés 16 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 6 septembre 2012
12 août 2012 à 19:14
dac voila je charge le combo avec cette ligne généré automatiquement (qd g fé la liaison avec les données de la base

Me.ARTICLETableAdapter.Fill(Me.THGDSDataSet3.ARTICLE)
et j récupére les lignes insérées dans la grid par ce code

Dim s As String = ""
For Each r As DataGridViewRow In Me.DataGridView1.Rows
If r IsNot Nothing Then
For Each c As DataGridViewCell In r.Cells
s = s & c.Value & ","

Next
s = s & Environment.NewLine
End If
Next
MsgBox(s)
donc il reste le probléme c'est comment données la main a l'utilisateur d'ajouter des lignes et chaque nouvelle ligne doit contenir le combo chargé...
et merci bcp cmarcotte :)
0
Utilisateur anonyme
13 août 2012 à 00:21
Bonjour,

Un simple bouton de commande avec un code similaire à celui de Coldman dans la procédure d'événement non ?

Sinon, pour la manipulation d'un DatgridView par programmation, comme ajouter des lignes, il y a un exemple très complet dans l'aide.
0
Rejoignez-nous