Afficher un message de confirmation lors de la validation des modification

Signaler
Messages postés
30
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
8 mars 2010
-
Messages postés
30
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
8 mars 2010
-
salut, lors de la validation des modification apporter sur une datatable, comment je peux afficher un message de confirmation pour dire à l'utilisateur que les modifications sont enregistrées? Merci d'avance pour votre aide

18 réponses

Messages postés
34
Date d'inscription
mardi 3 février 2009
Statut
Membre
Dernière intervention
15 décembre 2011

salut,

Si tu est en WindowsForm tu peut mettre :
MessageBox.Show("Message")
Messages postés
30
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
8 mars 2010

Slt merci pour ta réponse! mais je veux être sur que les modifications sont apportées à la base avant d'émettre le message à l'utilisateur!
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
42
Salut

C'est à toi de vérifier si la valeur a changé ou non. Je crois que tu peux utiliser l'événement DataTable.ColumnChanged ou ColumnChanging pour repérer les changements potentiels.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Messages postés
30
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
8 mars 2010

merci, mais je trouve pas comment le faire!!
voici un aperçu de mon code dans le bouton enregistrer
        private void btnEnregistrer_Click(object sender, EventArgs e)
        {
            //enregistrer les modifications apportées à la datatable demande_examen
            this.Validate();
            this.dEMANDE_EXAMENBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.dataSet1);
        }
Messages postés
34
Date d'inscription
mardi 3 février 2009
Statut
Membre
Dernière intervention
15 décembre 2011

tu peut essayer :
if(dataSet.GetChanges(DataRowState.Modified))
{
Message;
}
Messages postés
30
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
8 mars 2010

MErci pour ta réponse! j'ai essayé ton code mais j'ai un message d'erreur: Error 1 Cannot implicitly convert
type 'System.Data.DataSet' to 'bool' !!! c'est dû à quoi?
Messages postés
30
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
8 mars 2010

j'ai essayé également avec le code:
if(dataSet.HasChanges())
{
Message;
}


Mais ça n'a rien donné!
Messages postés
30
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
8 mars 2010

Pouvez vous m'aider svp
Messages postés
34
Date d'inscription
mardi 3 février 2009
Statut
Membre
Dernière intervention
15 décembre 2011

Salut,

Mais il faut que tu mette Le nom du dataset que tu utilise,
le dataset1 dans ton cas!
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
42
Mais ça n'a rien donné!

Ce genre de message n'aide en rien.
Tu veux dire quoi par là ?
- Ça ne rentre pas dans la boucle ?
- Ça rentre toujours dans la boucle même quand ça ne devrait pas ?
- Ça rentre dans la boucle quand il faut mais ça n'affiche rien ?
- Ça génère une erreur à la compilation ? Si oui, laquelle ?
- Ça génère une exception au runtime ? Si oui, laquelle ?

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Messages postés
30
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
8 mars 2010

oui bien sur, je l'ai fait! Voici exactement le code du bouton enregitrer:
 private void btnEnregistrer_Click(object sender, EventArgs e)
        {
            //enregistrer les modifications apportées à la datatable demande_examen
            attribution_compteur();
            this.Validate();
            this.dEMANDE_EXAMENBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.dataSet1);
            maj_compteur();
        }
if(dataSet1.HasChanges())
{
Message.show("Modifications enregistées");
}

Mais le message ne s'affiche pas!!
Messages postés
30
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
8 mars 2010

En fait, il n' y a pas d'erreur de compilation mais le message ne s'affiche pas non plus pourtant les modification sont enregistrées dans la base de données!
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
42
Tu devrais essayer de mettre ton dataSet1.HasChanges() avant ton UpdateAll().
D'ailleurs, tout ton code devrait être dans le if, à priori.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Messages postés
30
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
8 mars 2010

j'ai changé mon code comme vous me l'avez dite:
 private void btnEnregistrer_Click(object sender, EventArgs e)
        {
            //enregistrer les modifications apportées à la datatable demande_examen
            if (dataSet1.HasChanges())
          {
            //attribution_compteur();
            this.Validate();
            this.dEMANDE_EXAMENBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.dataSet1);
           // maj_compteur();
            MessageBox.Show("Modifications enregistées");
           }

Mais maintenant non pas seulement le message ne s'affiche pas mais même les modification ne sont plus enregistrées dans la base!
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
42
Mais maintenant non pas seulement le message ne s'affiche pas mais même les modification ne sont plus enregistrées dans la base!
S'il ne t'affiche pas le message, c'est qu'il ne rentre pas dans le if, donc c'est évident que ça n'enregistrera rien.
Le problème concerne juste ta condition, qui devrait être true alors qu'apparemment elle est false.

Tu as bien dait des modifications dans ton dataSet avant de cliquer sur Enregistrer ?

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Messages postés
30
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
8 mars 2010

oui, en fait je les ai appelés modifications mais j'ai essayé des insertions de nouveaux enregistrements! je crois que c'est la même chose non?
je vous donne aussi le code du bouton Ajouter que j'ai cliqué dessus puis j'ai saisie des valeurs dans des champs bindés sur la datatable demande_examen de mon dataset, puis j'ai cliqué sur le bouton Enregistrer!, aussi si j'élimine la condition si (dataSet1.HasChanges()) ... tout se passe normalement et les ajouts s'enregistrent dans la base! :
 private void btnNouveau_Click(object sender, EventArgs e)
        {
            dataSet1.DEMANDE_EXAMEN.Clear();
            this.dEMANDE_EXAMENTableAdapter.Fill(dataSet1.DEMANDE_EXAMEN);
            this.dEMANDE_EXAMENBindingSource.AddNew();
            lstTYPE_PATIENT.SelectedIndex = 0;
            attribution_compteur();
        }

Excusez-moi pour le dérangement!!
Messages postés
30
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
8 mars 2010

y a quelqu'un qui peut m'aider!!
Messages postés
30
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
8 mars 2010

svp comment je peux afficher ce message!!