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

ASP.NET Discussion :

CheckBox dans Gridview que je retrouve vide


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 251
    Par défaut CheckBox dans Gridview que je retrouve vide
    Bonjour,

    Je tente de simplifier ma page :
    une gridview avec dans chaque première cellule de chaque ligne un checkbox.
    Un bouton "sélectionner tout", un bouton "désélectionner tout" et un bouton "Etape suivante"

    Par défaut, toutes les checkbox sont cochés.
    Petit tour de magie? Appelons la page...
    Si l'on décoche par exemple la dernière ligne et que l'on clique sur "Etape suivante" et que nous revenons sur la page : je retrouve toutes les checkbox décochés.

    Je ferme tout et rappelle la page, cette fois je clique sur "tout désélectionner", puis sur "tout sélectionner" pour décocher la dernière ligne et clique sur "Etape suivante" : ça fonctionne comme je veux!

    Alors, où se trouve le truc?

    Michel

  2. #2
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    Bonsoir Michel,

    Essayer de donner un peu plus d'information par exemple:
    - Tu fais comment pour peupler ton GridView.
    - Comment tu implement chaque gestionnaire d'evenements des 3 boutons.

    a+

    Rama

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 251
    Par défaut
    Hello,

    J'ai trouvé mon soucis mais voilà (si cela peut servir à quelqu'un) :

    Je rempli ma gridview à partir d'une liste dans le if (!IsPostBack) de Page_Load :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    GRV_convoc_a_editer.DataSource = liste;
    GRV_convoc_a_editer.Databind;
     
    // il y a des checkbox dans la première cellule de chaque ligne :
    foreach (GridViewRow gvr in GRV_convoc_a_editer.Rows)
    {
          CheckBox cb = (CheckBox)(gvr.FindControl("RowLevelCheckBox"));
          cb.Checked = true;
    }
    Ensuite, c'est dans mon GRV_convoc_a_editer_RowDataBound que je modifie quelques cellules.

    Concernant les boutons, en fait il y en a que deux, juste avant la GridView :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Button ID="CheckAll" runat="server" Text="Tout désélectionner" OnClick="CheckAll_Click" />
    Code associé :
    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
    protected void CheckAll_Click(object sender, EventArgs e)
        {
            if (CheckAll.Text == "Tout sélectionner")
            {
                foreach (GridViewRow gvr in GRV_convoc_a_editer.Rows)
                {
                    CheckBox cb = (CheckBox)(gvr.FindControl("RowLevelCheckBox"));
                    if (cb.Enabled)
                        cb.Checked = true;
                }
                CheckAll.Text = "Tout désélectionner";
            }
            else
            {
                foreach (GridViewRow gvr in GRV_convoc_a_editer.Rows)
                {
                    CheckBox cb = (CheckBox)(gvr.FindControl("RowLevelCheckBox"));
                    if (cb.Enabled)
                        cb.Checked = false;
                }
                CheckAll.Text = "Tout sélectionner";
            }
        }
    et après la GridView :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Button ID="BTN_etape_suivante2" runat="server" Text="Etape suivante..." OnClick="BTN_etape_suivante_Click" />
    Et c'est dès le début du code du BTN_etape_suivante_Click que je retrouvais mes checkbox vides alors qu'elles devaient être cochées.

    J'utilise un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (CheckBox)(gvr.FindControl("RowLevelCheckBox"))
    Et c'est en recherchant "RowLevelCheckBox" dans le code de la page HTML que je me suis rendu compte qu'il y avait comme un problème...

    La suppression d'une ligne de mon RowDataBound qui ne me servait finalement pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eve.Row.ID = dossier.reference
    à complètement résolu le problème.

    Merci tout de même Ramajb

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

Discussions similaires

  1. CheckBox dans GridView
    Par le_misterioso dans le forum ASP.NET
    Réponses: 21
    Dernier message: 07/01/2012, 19h45
  2. checkbox dans gridview
    Par marie-anne dans le forum VB.NET
    Réponses: 2
    Dernier message: 29/11/2010, 12h51
  3. problème checkbox dans gridview
    Par math33 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 11/05/2010, 15h14
  4. Checkbox dans gridview (coché ou non en load)
    Par Tidus159 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 28/05/2008, 14h07
  5. Réponses: 7
    Dernier message: 07/11/2006, 16h23

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