begin process at 2010 02 10 10:30:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Base de données

 > 

Autre

 > 

Mise à jour d'un dataGridView


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Mise à jour d'un dataGridView

vendredi 9 mai 2008 à 10:24:40 | Mise à jour d'un dataGridView

KiwiCH

Bonjour,

J'ai ici un dataGridView qui ne fonctionne pas comme désiré. Je m'explique:

J'ai une colonne "quantité", qui une fois changé doit mettre à jour la base de donnée et prendre(afficher) les nouvelles valeurs.
J'ai 2 problèmes:
- Si je change qu'une ligne -> il ne fait rien.
- Si je change les 2 lignes présente -> il attribu la premiere valeurs que je rentre au 2 lignes.

Voici le code:
[code]
        public frmEditRecette()
        {
            InitializeComponent();

            // bind des données
            DataTable dt = new DataTable();
            DataTable updatedData = new DataTable();
            dt.Columns.Add("RecetteId", typeof(int));
            dt.Columns.Add("Composant", typeof(string));
            dt.Columns.Add("Quantity", typeof(int));

            dt.Rows.Add(1, "Comp1", 2);
            dt.Rows.Add(1, "Comp2", 1);
            dt.Rows.Add(1, "Comp3", 5);

            dt.AcceptChanges();

            this.kryptonDataGridView1.DataSource = dt;
        } [/code]

[code]
private void toolStripButton5_Click(object sender, EventArgs e)
        {
            dataBase mydatabase = new dataBase("localhost", "theproject", "root");
            // on récupère la DataTable source et on prends uniquement les lignes mises à jour
            DataTable dt = this.kryptonDataGridView1.DataSource as DataTable;
            DataTable updatedData = dt.GetChanges(DataRowState.Modified);



            if (null == updatedData)
            {
                return;
            }

            // pour chaque ligne mise à jour on fait un UPDATE
            bool successAll = true;
            foreach (DataRow dr in updatedData.Rows)
            {

                bool updated = mydatabase.updateAll("UPDATE xdb_recetteComposant SET qt=" + dr["qt"].ToString() + " WHERE recette= " + _idRecette.ToString() + ";");

                if (updated)
                {
                    // l'update à réussi, on met à jour le statut de la ligne
                    dr.AcceptChanges();
                }

                successAll = successAll && updated;
            }

            // message utilisateur en fonction de si toutes les mises à jour ont réussi ou non
            if (successAll)
            {
                MessageBox.Show("La mise à jour a été effectuée", "Mise à jour des quantités", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            else
            {
                MessageBox.Show("La mise à jour n'a pas pu être effectuée", "Mise à jour des quantités", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            dataBaseReload();
        }
[/code]

Le client vient chercher son logiciel à 15h et c'est le dernier problème que j'ai, donc si vous avez une solution je suis plus que prenneur !

Meilleures salutations
vendredi 9 mai 2008 à 11:03:28 | Re : Mise à jour d'un dataGridView

coq

Administrateur CodeS-SourceS
Salut,

Déjà, tu devrais jeter un oeil au concept de requêtes paramétrées...



/*
coq
MVP Visual C#
CoqBlog
*/
vendredi 9 mai 2008 à 11:12:14 | Re : Mise à jour d'un dataGridView

KiwiCH

Le client arrive à 15h, j'ai pas vraiment le temps de tout recodé, et pour ce qu'il doit faire c'est pas grave. De plus, ce n'est pas mon problème :/
vendredi 9 mai 2008 à 12:19:22 | Re : Mise à jour d'un dataGridView

bubbathemaster

Pourquoi tu ne te sers pas de l'évènement RowsAdded de la datagridview ?
A chaque row ajoutée tu maintiens une liste avec les infos de la dgv, au clique tu deroule cette liste avec des queries UPDATE.
vendredi 9 mai 2008 à 12:31:27 | Re : Mise à jour d'un dataGridView

KiwiCH

Parceque c'est une eddition de quantité par rapport à un prix et non un ajout de ligne


Cette discussion est classée dans : code, jour, add, dt, datatable


Répondre à ce message

Sujets en rapport avec ce message

suprimer une ligne dans datagrid et datatable [ par Souliabdo ] Bonjour   <p class="MsoNormal" st CheckBox dans le GridView [ par rahhou ] Bonjour à tous;je développe une webpart avec du C# (  l'environnement MOSS 2007) qui doit m'afficher un GridView et au début dans chaque ligne un Chec DataRows, pb création dynamique [ par georgeduke ] Bonjour, Je bloque ! Voilà mon problème... J'alimente un datagrid avec un DataTable que je construis manuellement, c'est à dire que je crée les DataC requete insert [ par imsse ] Bonjour tous le monde, je dois pourvoir me connecter a ma base pour inserer des donnees mais le code ne s'excute pas surement parce que jai oublier q Mise à jour d'un Add-in Excel, plantage de mon code VBA [ par bossun ] Salut, J'ai crée une dll pour étandre les fonctions d'excel. Tout marche bien.. mais le soucis est que lorsque le mets à jour cette DLL, le code VBA d memoire qui augmente [ par cudenetf ] Bonjour,j'ai tuojurs le semem probleme d ememoir euqi augmente et fini par saturer ...J'ai un timerachaque tick je vide, puis je charge un datatable a datagridview n'affiche aucun ligne [ par 22783208 ] Bonjour à tout le monde, j'ai un datagridview dans un "classe component"; J'affecte à datasource de datagridview un datatable. voila mon code: [cod C# Active directory : création d'OU et d'utilisateurs [ par hobtechfr ] Bonjour, Je travaille actuellement sur une application permettant (à partir d'un fichier CSV) de récupérer toutes les lignes qui correspondent à des importer un fichier .cvs dans une data table [ par chalmyl ] Salut!! J'essai de loader un fichier .csv dans une data table. Je suis très nouvelle à tout ceci. J'ai pris un exemple sur ce site mais ça ne fonct xml to Database [ par babe59 ] Bonjour, Pour copier des données (quelques records) d'une base d'un site distant (sans interconnexion) vers ma base locale, j'aimerai utiliser le XML


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales