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

Windows Forms Discussion :

[C#][Débutant] Comment savoir qu un champ a été modifié ?


Sujet :

Windows Forms

  1. #1
    Membre extrêmement actif Avatar de Cazaux-Moutou-Philippe
    Inscrit en
    Mai 2005
    Messages
    674
    Détails du profil
    Informations personnelles :
    Âge : 74

    Informations forums :
    Inscription : Mai 2005
    Messages : 674
    Points : 171
    Points
    171
    Par défaut [C#][Débutant] Comment savoir qu un champ a été modifié ?
    Bonjour, j ai une form, avec dessus plusieurs champs reliés a une table

    pour ca j ai , un datasource, un BindingSource et un TableAdapter

    je voudrais mettre enable mon bouton Appliquer si un ou plusieurs champ on été modifies

    comment faire ?
    Philippe Cazaux-Moutou
    C#
    Delphi
    Windev

    Guadeloupe

    www.ancestrologie.net/fr

  2. #2
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    Tu fais ça en faisant un truc tout bête : sur le textchanged des textbox, tu fais un enabled=true de ton bouton ...

  3. #3
    Membre extrêmement actif Avatar de Cazaux-Moutou-Philippe
    Inscrit en
    Mai 2005
    Messages
    674
    Détails du profil
    Informations personnelles :
    Âge : 74

    Informations forums :
    Inscription : Mai 2005
    Messages : 674
    Points : 171
    Points
    171
    Par défaut
    Merci

    j avais deja fait ca, mais s il y a 20 champs sur la form pour les 20 champs il faudra coder cet event
    je ne trouves pas ca top

    n y a t il pas un autre moyen pour detecter un changement sur l enregistrement en cours ?
    Philippe Cazaux-Moutou
    C#
    Delphi
    Windev

    Guadeloupe

    www.ancestrologie.net/fr

  4. #4
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    Y'a peut-être un autre moyen, je ne le connais pas ..
    .
    Soit dit en passant, quel que soit le nombre de champs que tu as, tu peux gérer des évènements différents avec la même procédure, ce qui est somme toute très rapide ...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 160
    Points : 89
    Points
    89
    Par défaut
    SI tu veux t'affranchir du codage de ces events, deux solutions :

    - coder un event par type de controle et brancher tous les EventHandlers TextChanged, ValueChanged, CheckedChanged sur ces méthodes

    ou

    - ajouter un timer de rafraichissement d'interface qui ttes les X ms vérifie DataRowCourante.RowState est à 'Modified', 'Added' ou non. Si c le cas, dégriser le bouton. Cette solution peut etre dangereuse si tu ne penses pas a arreter ton timer a la fermeture de ta fenetre.

    Si tu ne comprends pas trop, hésite pas

  6. #6
    Membre habitué
    Inscrit en
    Juin 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 110
    Points : 128
    Points
    128
    Par défaut
    Citation Envoyé par boulete
    Y'a peut-être un autre moyen, je ne le connais pas ..
    .
    Soit dit en passant, quel que soit le nombre de champs que tu as, tu peux gérer des évènements différents avec la même procédure, ce qui est somme toute très rapide ...
    Beh, oui,
    - tu ouvres le fichier form.designer.cs
    - tu parcours la method private void InitializeComponent()
    Chaque Structure de controle y est decrite
    - tu ajoutes une ligne du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.combobox.SelectedIndexChanged += new System.EventHandler(this.methodLiéeALEvenement);
    (exemple pour le combobox, mais tu trouves facilement les evenements liées aux autres controles)
    - Tu edites le fichier form.cs et tu y colles la method :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    private void methodLiéeALEvenement {
       bouton.Enabled = true;
    }
    ca se fait vite avec des copier/coller.

    D'un autre côté, je me demande s'il n'existe pas evenement sur l'ensemble des controles fils. Si tu trouves je veux bien la reponse.

    Bonne journée

    L.

  7. #7
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    Déjà comme ça va très très vite ...
    Pour info, rien à voir, comment on fait les balises "citation" déjà ?

  8. #8
    Membre extrêmement actif Avatar de Cazaux-Moutou-Philippe
    Inscrit en
    Mai 2005
    Messages
    674
    Détails du profil
    Informations personnelles :
    Âge : 74

    Informations forums :
    Inscription : Mai 2005
    Messages : 674
    Points : 171
    Points
    171
    Par défaut
    Merci

    je viens d essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                this.teTitre.SelectedIndexChanged += new System.EventHandler(this.toto);
    mais il n aime pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur    1    'DevExpress.XtraEditors.TextEdit' ne contient pas de définition pour 'SelectedIndexChanged'    D:\Projets_Net\PCM_DVDtheque\Films\FFilmsDetail.Designer.cs    884    26    PCM_DVDTheque
    Philippe Cazaux-Moutou
    C#
    Delphi
    Windev

    Guadeloupe

    www.ancestrologie.net/fr

  9. #9
    Membre habitué
    Inscrit en
    Juin 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 110
    Points : 128
    Points
    128
    Par défaut
    L'evenement doit être plutot TextChanged, ou click, ou enter...

  10. #10
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    L'évènement "SelectedIndexChanged" est pour les comboboxs.
    Pour les champs texte, il faut utiliser "textchanged"
    Pour les radiobuttons, il faut utiliser "checkedchanged" etc ...

  11. #11
    Membre extrêmement actif Avatar de Cazaux-Moutou-Philippe
    Inscrit en
    Mai 2005
    Messages
    674
    Détails du profil
    Informations personnelles :
    Âge : 74

    Informations forums :
    Inscription : Mai 2005
    Messages : 674
    Points : 171
    Points
    171
    Par défaut
    je fais ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
               this.teTitre.TextChanged += new System.EventHandler(this.doToto);
    puis dans la form, ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        private void doToto
            { btnAppiquer.Enabled = true ; }

    mais la message d erreur que faire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur    1    Accesseur get ou set attendu    D:\Projets_Net\PCM_DVDtheque\Films\FFilmsDetail.cs    133    11    PCM_DVDTheque
    Philippe Cazaux-Moutou
    C#
    Delphi
    Windev

    Guadeloupe

    www.ancestrologie.net/fr

  12. #12
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    C'est s

  13. #13
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    C'est sur

  14. #14
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    C'est sur quelle ligne

  15. #15
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    C'est sur quelle

  16. #16
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    C'est sur quelle ligne qu'il

  17. #17
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    C'est sur quelle ligne qu'il te

  18. #18
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    C'est sur quelle ligne qu'il te dit

  19. #19
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    C'est sur quelle ligne qu'il te dit ça ?

  20. #20
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    C'est sur quelle ligne qu'il te dit ça

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/06/2006, 13h05
  2. [SQL] Comment savoir si un champs a été modifié ?
    Par flOZ dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/05/2006, 08h00
  3. [C#][Débutant] Comment savoir si un PictureEdit est vide ou plein
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 7
    Dernier message: 07/05/2006, 15h34
  4. Réponses: 5
    Dernier message: 12/09/2005, 17h34
  5. [Access] Comment savoir qu'un champs est vide ?
    Par Oberown dans le forum ASP
    Réponses: 9
    Dernier message: 25/10/2004, 10h47

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