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

cs_oujdinaute 1 Messages postés samedi 25 novembre 2006Date d'inscription 11 juillet 2010 Dernière intervention - 11 juil. 2010 à 19:15 - Dernière réponse :  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 ?
Afficher la suite 

7 réponses

Répondre au sujet
coldman 8 Messages postés mardi 11 décembre 2007Date d'inscription 11 juillet 2010 Dernière intervention - 11 juil. 2010 à 23:13
0
Utile
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
Commenter la réponse de coldman
cs_anassaldo 18 Messages postés mercredi 2 décembre 2009Date d'inscription 6 septembre 2012 Dernière intervention - 12 août 2012 à 18:23
0
Utile
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
Commenter la réponse de cs_anassaldo
Utilisateur anonyme - 12 août 2012 à 18:27
0
Utile
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.
Commenter la réponse de Utilisateur anonyme
cs_anassaldo 18 Messages postés mercredi 2 décembre 2009Date d'inscription 6 septembre 2012 Dernière intervention - 12 août 2012 à 18:38
0
Utile
je crois que c pas le méme probléme,des fois on précipite de dire des choses :)
Commenter la réponse de cs_anassaldo
Utilisateur anonyme - 12 août 2012 à 19:06
0
Utile
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.
Commenter la réponse de Utilisateur anonyme
cs_anassaldo 18 Messages postés mercredi 2 décembre 2009Date d'inscription 6 septembre 2012 Dernière intervention - 12 août 2012 à 19:14
0
Utile
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 :)
Commenter la réponse de cs_anassaldo
Utilisateur anonyme - 13 août 2012 à 00:21
0
Utile
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.
Commenter la réponse de Utilisateur anonyme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.