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

Signaler
Messages postés
1
Date d'inscription
samedi 25 novembre 2006
Statut
Membre
Dernière intervention
11 juillet 2010
-
 Utilisateur anonyme -
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

Messages postés
7
Date d'inscription
mardi 11 décembre 2007
Statut
Membre
Dernière intervention
11 juillet 2010

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
Messages postés
18
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
6 septembre 2012

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

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.
Messages postés
18
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
6 septembre 2012

je crois que c pas le méme probléme,des fois on précipite de dire des choses :)

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.
Messages postés
18
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
6 septembre 2012

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 :)

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.