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 :

Sauvegarde etat CheckBox (Checked)


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur E&D
    Inscrit en
    Février 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur E&D

    Informations forums :
    Inscription : Février 2010
    Messages : 48
    Par défaut Sauvegarde etat CheckBox (Checked)
    Bonjour à tous,

    J'ai une requete vers une base de données Oracle, en fonction du nombre de ligne du resultat de ma requete, je créé dynamiquement le même nombre de CheckBox que j'enregistre dans un tableau, comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // Boucle Corps (Checkbox)
    foreach (DataRow uneLigne in dtTable.Rows)
    {
         // Nouvelle ligne, nouvelle Checkbox.
         TableCell cellAjout = new TableCell();
         CheckBox cb = new CheckBox();
     
         // On l'ajoute au tableau et on l'affiche.
        cellAjout.Controls.Add(cb);
        tabCbAjout[i] = cb;
        rowAJout.Cells.Add(cellAjout);
        i++;
    }
    Au nivau de l'affichage et de l'enregistrement des CheckBox dans le tableau, pas de probleme.

    Seulement, je veux pouvoir (apres clic sur un bouton) récuperer l'état de mes checkBox (Checked ou non) pour pouvoir faire un update dans ma base de données.
    Pour ça j'utilise une variable session contenant mon tableau de checkBox. Mais le probleme c'est que l'état des checkBox reste toujours celui par défaut (false).

    Comment puis je pallier à ce probleme ?

    Merci pour votre aide,
    Cordialement.

  2. #2
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 18
    Par défaut
    Bonjour,

    Je suis débutante en .net mais ce que tu fais correspond un peu à ce que j'ai fait hier et je me demandais si ce que j'ai fait ne pourrait pas t'aider. Quand j'effectue un clique sur mon bouton valider je parcours toutes mes checkbox et quand il y en a qui sont checked je les met dans un string comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    foreach (ListItem lt in cblDep.Items)
    {
        if (lt.Selected)
        {
             ltDep += lt.Value + ";";
        }
    }
    Session["listeDep"] = ltDep;
    Après quand j'ouvre à nouveau ma fenêtre j'ai une méthode qui permet de cocher les checkbox préalablement cochées :
    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
     
    protected void sessionCheckbox()
    {
       if (Session["listeDep"] != null)
       {
            string dep = Session["listeDep"].ToString();
            string[] tabDep = dep.Split(';');
            foreach (string d in tabDep)
            {
                foreach (ListItem lt in cblDep.Items)
                {
                    if (d == lt.Value)
                    {
                        lt.Selected = true;
                     }
                 }
              }
         }
    }
    Voilà je ne sais pas si ça répond à ta question et si ça peut t'aider.

    Bonne journée

  3. #3
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Par défaut
    Je me demande si tu n'oublie pas pas de stocker les changements d'états de tes check box dans ta varialbe de session...

    Ensuite deux remarques :
    Tes commentaires neservent à rien : voir ici pour savoir quels commentaires sont utiles.

    Ensuite la variable de session n'est pas destinnée à cette usage. Comme son nom l'indique, elle est là pour enregistrer ce qui concerne la session, pas l'état de chackbox.

    Si j'ai bien compris ce que tu fais : tu as un bouton qui agit en fonction des boites sélectionénes. Dans ton événement clic, tu commences par lister les box sélectionnées en parcourant ton tableau => Liste
    Tu fais ce qu'il faut ensuite.

    Attention de bien dissossier le code qui concerne l'ihm de celui qui concerne le métier.

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur E&D
    Inscrit en
    Février 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur E&D

    Informations forums :
    Inscription : Février 2010
    Messages : 48
    Par défaut
    Je me demande si tu n'oublie pas pas de stocker les changements d'états de tes check box dans ta varialbe de session...
    Oui c'est exactement ça, peut importe les checkbox que je coche/décoche, elle garde toujours l'état avec lequel je les avait initialisées ....

    Et c'est la que je ne sais pas quoi faire ....

  5. #5
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Par défaut
    ben oui... mais tu ne fais pas, dans l'événement change,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Session["titi"] = chk.Checked
    donc si tu ne dis pas que le programme doit stocker, il ne stocke pas !

    Mais encore une fois, le changement d'état de tes chk doit-il être stocké ?
    Qu'en fais-tu ? Où en as-tu besoin ?

    A mon sens il y a une pbm de conception et j'aimerai bien en avoir le coeur net

  6. #6
    Membre actif
    Homme Profil pro
    Ingénieur E&D
    Inscrit en
    Février 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur E&D

    Informations forums :
    Inscription : Février 2010
    Messages : 48
    Par défaut
    Mais encore une fois, le changement d'état de tes chk doit-il être stocké ?
    Qu'en fais-tu ? Où en as-tu besoin ?
    Oui le changement d'état doit etre stocké.
    Les checkbox corresponde a des booleens dans ma base de données. Donc j'affiche un checkbox coché si vrai, décoché si faux.
    L'utilisateur doit pouvoir modifier cet état. Et je dois ensuite pouvoir le récupérer pour faire un update dans ma base de données.

    dans l'événement change
    Désolé mais je ne vois vraiment pas comment faire ça ...
    Etant donné que je créer mes checkbox dans une boucle, ou est ce que je rajoute le code pour dire que si elles changent d'état il faut le sauvegarder ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/08/2010, 14h15
  2. checkbox = checked
    Par maysa dans le forum Langage
    Réponses: 8
    Dernier message: 24/08/2007, 11h00
  3. [PEAR][HTML_QuickForm] Mettre une checkbox à checked
    Par audran12 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 20/06/2007, 15h41
  4. Réponses: 1
    Dernier message: 24/10/2006, 12h10
  5. [VB.NET] Etat checkbox et boucle
    Par mic56 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 27/04/2004, 12h18

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