IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Framework .NET Discussion :

Annuler des modifications sur BindingSource.Current


Sujet :

Framework .NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 19
    Points : 16
    Points
    16
    Par défaut Annuler des modifications sur BindingSource.Current
    Bonjour à tous,

    Je suis confronté à un p'tit problème :

    J'ai un DataGridView dont la source de données est une bindingSource (une liste d'objet metiers).

    Quand je double clique sur une ligne, j'ouvre une autre fenêtre contenant le détail de la ligne en question et me permettant de modifier à volonté l'élément courant (Je récupère l'objet metiers grâce à BindingSource.Current et je le passe en paramètre au constructeur de la fenêtre de détails).

    Sur cette fenêtre de détails j'ai 2 bouton "Valider" et "Annuler".

    Question : Comment faire pour que quand je clique sur "Annuler" l'objet ne tienne pas compte des modifications et retrouve son état initial ?

    J'ai raté un épisode ? Je ne m'y prend pas de la bonne manière ?

    Merci d'avance pour vos lumières salvatrices

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2002
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 104
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Soit tu utilises une datatable qui integre les mécanismes {Accept,Reject}Changes.

    Soit tu implémentes le mécanisme de "transaction" de ton objet. C'est plus un mécanisme d'édition et pour ca, il faut que ton objet implémente IEditableObject, qu'il est un tampon "valeur valide" et un tampon de travail. Sur le EndEdit ou CancelEdit tu copie ou non tes données d'un tampon vers l'autre. Quand je dis tampon, ça peut être tes variables en double. L'avantage, c'est que le BindingSource appelle les méthodes {Begin,End,Cancel}Edit sur ton objet courrant

    Ou si tu veux gérer à la main le début d'édition/"transaction simple" tu fais une interface ICommitable avec ce qui va bien.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Merci cboun94 !!

    J'ai essayé avec l'interface IEditableObject et ça fonctionne à merveille !!

    Pour ceux que ça interesse, je leur conseille de lire cette page qui détaille bien le code.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    alors, petit retour d'expérience sur l'interface IEditableObject....

    Je developpe un logiciel utilisant de nombreux databindings sur des listes d'objets métiers.
    J'ai pu constater certains comportement douteux sur des objets IEditable contenant des sous objets :
    Les méthodes BeginEdit() et CancelEdit() sont appelés sans raisons ( = Sans que je les appelle explicitement) ce qui a pour conséquences de m'effacer certaine données sur mes objets.

    Est-ce parce que l'interface se mélange les pinceaux ou est-ce parce que j'utilise mal quelque chose...mystère.

    En attendant j'utilise les méthodes Begin/Cancel/End Edit sans que mon objet n'implémente l'interface IEditableObject et ça fonctionne à merveille...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/09/2009, 19h21
  2. Binding forms - annulation des modifs
    Par thorgal1612 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 07/07/2009, 17h27
  3. Etablir des modifs sur les permissions sur serveur FREE
    Par dessinateurttuyen dans le forum Outils
    Réponses: 5
    Dernier message: 02/04/2008, 16h46
  4. [formulaire] Annuler des modifications
    Par stéphane_ais2 dans le forum IHM
    Réponses: 5
    Dernier message: 24/11/2006, 12h00
  5. Faire des modifs sur une sheet excel Read Only via VBA
    Par beegees dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/11/2005, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo