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 :

Mémoriser les CheckBox cochés


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 112
    Points : 54
    Points
    54
    Par défaut Mémoriser les CheckBox cochés
    Salut,

    J'ai une colonne sous forme de checkbox dans mon DATAGRID, j'ai aussi un bouton "Supprimer Liste".
    je coche les lignes que je veux supprimer dans mon DATAGRID et je clique ensuite sur le bouton mentioné pour les supprimer, mon datagrid se rafraichi par la suite sans les lignes que j'ai supprimé.
    il m'est demandé de faire la chose suivante, s'il y a des lignes qui n'ont pas pu etre supprimé parmis ceux que j'ai sélectionné, après le rafraichissement de ma page en cliquant sur le bouton "Supprimer Liste", le scheckbox des lignes qui n'ont pas été supprimé doivent apparaitre coché.
    je ne vois pas comment faire pour garder l'état des checkbox et les recocher pour les lignes non supprimés

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 22
    Points : 26
    Points
    26
    Par défaut
    Bonjour midotoon,

    je pense savoir comment faire mais il faut que je teste. Je regarde ça dans la journée ou ce soir et je viendrai poster la réponse.

    bonne journée,

  3. #3
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 112
    Points : 54
    Points
    54
    Par défaut
    Ok merci bcp.
    je vais attendre ta réponse

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 22
    Points : 26
    Points
    26
    Par défaut
    Re,

    Je viens de faire le test avec une DataGridView contenant une liste d'utilisateurs et la possibilité de les sélectionner en cochant une CheckBox afin de pouvoir les supprimer par un bouton 'Supprimer'. J'ai également simulé une suppression qui ne marcherait pas. Au final la CheckBox de la ligne non supprimée apparait de nouveau cochée. Peux-tu me donner plus d'informations sur ton code afin que je puisse t'aider plus facilement ?

  5. #5
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 112
    Points : 54
    Points
    54
    Par défaut
    Bonsoir
    D'abord je te remerci pour le temps que tu as consacré pour moi.
    Sinon pour le code, je ne l'ai pas chez moi , c'est un problème que j'ai rencontré dans la société dans laquelle je travaille , et en +, je me connecte à l'envirennement de developpement de notre client via des connexion à distance.
    En gros, j'ai mon DATAGRID , une colonne sous forme de checkbox.
    Dans la méthode onclick de mon boutont "Supprimer Liste", je parcours mon DATAGRID en utilisant l'objet DataGrisItem (for DataGridItem dgi in MONDATAGRID.Items)
    dans ma boucle je vérifie si le checkbox du dgi courant est coché, si c ok j'appelle ma méthode delete.
    à la fin après ma boucle, je rafraichi mon DataGrid.
    Si tu ne comprend pas tros ce que je viens de dire, tu peux quand meme filer ta solution , peut etre que je pourrai l'adapter à mon besoin.

    Merci

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 22
    Points : 26
    Points
    26
    Par défaut
    Re,

    J'ai fait la même chose que toi visiblement :

    code behind de ma page default.aspx :
    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
      protected void Button1_Click(object sender, EventArgs e)
        {
            foreach (GridViewRow ligne in GridView1.Rows)
            {
                // je regarde si la checkbox est cochée
                if (((CheckBox)ligne.FindControl("CheckBox")).Checked)
                {
                    // si elle l'est alors je supprime la ligne
                    GridView1.DeleteRow(ligne.RowIndex);
                }
            }
        }
        protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            // afin de simuler une erreur lors de la suppression d'une ligne
            // je regarde quel est l'id utilisateur que je souhaite supprimer
            // si c'est 2 alors j'annule la suppression de la ligne
            if (e.Keys["Id"].ToString() == "2")
            {
                e.Cancel = true;
            }
        }
    code aspx de ma page default.aspx :
    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
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1" DataKeyNames="Id" OnRowDeleting="GridView1_RowDeleting">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:CheckBox ID="CheckBox" runat="server" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:BoundField DataField="Nom" HeaderText="Nom" SortExpression="Nom" />
                    <asp:BoundField DataField="Prenom" HeaderText="Prenom" SortExpression="Prenom" />
                </Columns>
            </asp:GridView>      
            <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetAllUsersFromBDD"
                TypeName="Utilisateurs" DeleteMethod="Remove">
                <DeleteParameters>
                    <asp:Parameter Name="Id" Type="Int16" />
                </DeleteParameters>
            </asp:ObjectDataSource>
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
    En espérant que cela puisse t'aider.

  7. #7
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 112
    Points : 54
    Points
    54
    Par défaut
    je pense que cette méthode ne va pas marcher avec moi.
    je n'utilise pas les événements du DATAGRID, ni des ID.
    je dois traiter ça dans mon bouton, si le code retour de ma méthode delete est Ko dans ce cas je dois faire un traitement qui va garder mon checkbox coché par la suite.

  8. #8
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    si le retour de ta fonciton delete est ko, tu as encore acces aux elements de ton datalist non? tu devrais donc etre capable de recuperer leur identifiants de les stocker et de rebinder ta datalist et de cocher les elements a supprimer...

Discussions similaires

  1. Réponses: 8
    Dernier message: 20/11/2009, 15h49
  2. [PHP 5.3] Récupérer les checkbox cochées dans une variable
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 01/06/2009, 12h25
  3. conserver les checkbox cochés
    Par I.Z.M.M dans le forum ASP.NET
    Réponses: 0
    Dernier message: 25/01/2009, 13h44
  4. recuperer les checkbox cochés d'une arbre de checkbox
    Par 01211983 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 12/02/2008, 15h33
  5. Lister les checkbox cochés
    Par drizztoli dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/01/2008, 09h04

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