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

C# Discussion :

Probleme à l'ajout et la modification des donnée de DATAGRID en c# / WPF [Débutant]


Sujet :

C#

  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 28
    Par défaut Probleme à l'ajout et la modification des donnée de DATAGRID en c# / WPF
    Bonjour tout le monde
    Tout d'abord merci à tout ceux qui vont lire mon message et surtout ceux qui vont m'aider à résoudre mon petit problème
    Je suis en train de développer une application WPF en C# j'essaye d'ajouter et de modifier "mes machines " suite au clique sur le bouton" valider " mais le problème se pose si je modifie une machine puis j'essaye d'ajouter une nouvelle machine le champs code machine reste desable ( image jointe )

    et le code mon bouton modifier est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
      private void VMM_Click(object sender, RoutedEventArgs e)
            {
                try
                {
     
     
                    // Open the Database Connection
                    Connexion.Open();
     
     
                    string _Update = @"Update  Machine Set 
                                 cadense = '" + cadenseMachineTXT.Text + "' where codeMachine = '" + codeMachineTXT.Text + "'";
     
                    // Initialize the command query and connection
                    SqlCommand _cmd = new SqlCommand(_Update, Connexion);
     
                    // Execute the command
                    _cmd.ExecuteNonQuery();
     
                    MessageBox.Show("la cadense d'une machine est modifiée");
                    cadenseMachineTXT.Text = string.Empty;
                    codeMachineTXT.Text = string.Empty;
     
                    Connexion.Close();
     
                    this.BindGrid();
     
     
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
     
            }
    et le code qui me permet de prendre prendre les valeurs de la ligne sélectionnée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    private void dataGridMachine_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
            {
                DataRowView _DataView = dataGridMachine.CurrentCell.Item as DataRowView;
     
                if (_DataView != null)
                {
                    codeMachineTXT.Text = _DataView.Row[0].ToString();
                    codeMachineTXT.IsEnabled = false;
                    cadenseMachineTXT.Text = _DataView.Row[1].ToString();
     
                }
     
            }
    Merci d'avance
    Images attachées Images attachées  

  2. #2
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Comme gères tu l'ajout ?

    Quand tu cliques sur le bouton d'ajout c'est là que tu pourrais activer le champ via codeMachineTXT.IsEnabled = true;.

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 28
    Par défaut
    Merci Pragmateek pour ta réponse ,
    J'ai déjà essayer ceci mais ça ne marche pas , en faite même si je rend le champs text enable l'application le gère comme si j'ai fait une modification et non pas un ajout puisque elle m'affiche un message comme quoi une machine a été modifié ( alors qu'on réalité rien ne s'est passé )
    pour la" logique" de la fenêtre que j 'ai posté en pièce jointe , au début seul la datagrid est affichée puis si je clique sur le bouton ajouter ( le + en vert ) les textboxe s'affichent je les remplissent puis je valide par le bouton valider et c'est bon la machine est ajoutée .
    Si je sélectionne une ligne de ma data grid et je clique sur supprimer ( le - en rouge ) la machine se supprime.
    et si je clique sur le bouton modifier ( le bleu ) les textboxe s'affichent avec le champ code "desable" je rempli le champs cadense puis je valide par le bouton valider ( un autre que le premier d'ajout) et puis la cadence de la machine est modifiée .
    là le problème si après la modification je veux faire un ajout ça marche pas
    ci joint le code du bouton Valider ( valider l'ajout )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     // Open the Database Connection
                    Connexion.Open();
     
                    string _Insert = @"insert into Machine
                              (codeMachine,cadense)
                              Values('" + codeMachineTXT.Text + "','"  + cadenseMachineTXT.Text + "')";
     
                    // Initialize the command query and connection
                    SqlCommand _cmd = new SqlCommand(_Insert, Connexion);
     
                    // Execute the command
                    _cmd.ExecuteNonQuery();
     
                    MessageBox.Show("Une machine est ajoutée");
                    codeMachineTXT.Text = string.Empty;
                    cadenseMachineTXT.Text = string.Empty;
     
                    Connexion.Close();
                    this.BindGrid();
    }
    et le code du bouton ajouter ( le + vert )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      private void ajouterM_Click(object sender, RoutedEventArgs e)
            {
                cadenseMachineTXT.Visibility = Visibility.Visible ;
                codeMachineTXT.Visibility = Visibility.Visible;
                cadenseMachineL.Visibility = Visibility.Visible;
                codeMachineL.Visibility = Visibility.Visible;
                VAM.Visibility = Visibility.Visible; 
            }

  4. #4
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Si l'utilisateur est censé cliquer sur le bouton "+" alors pourquoi ne pas faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private void ajouterM_Click(object sender, RoutedEventArgs e)
    {
        cadenseMachineTXT.Visibility = Visibility.Visible ;
        codeMachineTXT.Visibility = Visibility.Visible;
     
        codeMachineTXT.IsEnabled = true;
     
        cadenseMachineL.Visibility = Visibility.Visible;
        codeMachineL.Visibility = Visibility.Visible;
        VAM.Visibility = Visibility.Visible;
    }
    ?

    Sinon dans ta mise en page tu n'aurais pas des composants qui en cachent d'autres ?...

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 28
    Par défaut
    Justement Pragmateek c'est ce que j'ai essayé mais ça n'as pas marché :p

  6. #6
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Ahah il y a une arnaque là.

    Montre nous un peu le XAML de ces controls...

    Sinon regarde avec Snoop l'état de ton control.

  7. #7
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 28
    Par défaut
    Merci Pragmateek ; j ai tout simplement crée des textbox pour l'ajout et d'autres pour la modification et " jouer" un peu avec les propriétés de visibilité et ça marche

  8. #8
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Si ça fait le job, parfait.

  9. #9
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 28
    Par défaut
    Merci bien Pragmateek

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

Discussions similaires

  1. [JTable] Interdire la modification des données ?
    Par Cyborg289 dans le forum Composants
    Réponses: 7
    Dernier message: 25/02/2013, 10h40
  2. ajout et modification des données
    Par menyarito dans le forum C#
    Réponses: 11
    Dernier message: 23/02/2011, 07h38
  3. Réponses: 6
    Dernier message: 03/06/2010, 22h35
  4. probleme dans la modification des données
    Par angeless dans le forum C#
    Réponses: 2
    Dernier message: 15/04/2010, 19h28
  5. Réponses: 6
    Dernier message: 15/02/2006, 14h02

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