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 :

[VB.NET] Datagrid - Récupérer CheckBox cochées


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Par défaut [VB.NET] Datagrid - Récupérer CheckBox cochées
    J'ai un datagrid avec des templates columns, la derniere etant une colonne avec des Check box. Je voudrai parcourir les lignes, voir lesquelles ont une check box checked, et alors lire une valeur dans une des autres colonnes.

    Est ce que qq sait comment faire ??

    [Titre édité par freegreg - Ancien titre : [VB.NET] Datagrid]
    [Merci d'utiliser des titres explicites]

  2. #2
    Membre éprouvé Avatar de chman
    Inscrit en
    Novembre 2002
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 94
    Par défaut
    salut,

    c winform ou webform ?

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Par défaut
    c'est une Webform ...

    [Tag [ASPX] ajouté par freegreg]
    [Pensez-y, vous-même, la prochaine fois. Merci ]

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2003
    Messages : 127
    Par défaut
    regarde ça.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    CheckBox CB;
    DataGridItem dgi;
     
    for(int i=0;i<=DataGrid.Items.Count-1;i++)
    {
    dgi=DataGrid.Items[i];
     
    CB=(CheckBox ) dgi.FindControl("CheckBox1");//CheckBox1 étant le nom de la checkbox de ta template column.
    if(CB.Checked==true)
    {
    DataGrid.Items[i].Cells[x].etc.  //x numéro de la column à lire
    }
    }
    voilà @+
    ALCINA

  5. #5
    Membre éprouvé Avatar de chman
    Inscrit en
    Novembre 2002
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 94

  6. #6
    Membre confirmé Avatar de dupin40
    Profil pro
    Inscrit en
    Août 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 102
    Par défaut
    pour parcourir ton DataGrid :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (int i = 0; i < DG.Items.Count; i++ )
      {
        if (!(DG.Items[i].Cells[2].Controls[1] as CheckBox).Checked)
        { ... }
      }
    la case a cocher se trouve dans la troisième colonne (d'où le 2) et le contrôle associé à la checkbox est le second
    ca je sais pas pourquoi mais c'est le second. Lorsqu'un control est inséré dans un datagrid trois controles sont "créés" un en position 0, le controle qu'on veut en position 1 et un autre en position 2.
    si quelqu'un a la réponse à ces contrôles qui sont générés et surtout a quoi ils servent je suis preneur ?

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Par défaut
    voila mon code :
    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
     
    Dim i As Integer
            i = 0
            Dim items As DataGridItem
            Dim chkItem As System.Web.UI.WebControls.CheckBox
            Dim mystr As String
     
            For Each items In dgPeople.Items
                chkItem = CType(items.FindControl("cbDone"), System.Web.UI.WebControls.CheckBox)
                If chkItem.Checked = True Then
                    mystr = dgPeople.Items(0).Cells(0).Text
                    Label1.Text = mystr & " / "
                Else
                    Label1.Text = Label1.Text & "rien" & " / "
                End If
                i = i + 1
     
            Next items
    mais le probleme, c'est que meme si une check box est coche, ma boucle "if" passe passe par "else".
    Quelqu'un verrai t'il le pb ???

  8. #8
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2003
    Messages : 127
    Par défaut
    je vois pas pourquoi.

    à moins que tu dois rebinder avant de rentrer dans ta fonction,
    en général le page_load s'éxécute avant de faire une fonction, si c'est le cas avec ispostback tu pe ne pa rebindé (si c'est le cas):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private void Page_Load(object sender, System.EventArgs e)
    {
       if(!this.IsPostBack)
       {
    Datagrid.databind();
       }
    }
    @+
    ALCINA

  9. #9
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Par défaut
    en fait, j'ai le meme pb que lamiae18 dans le post :
    http://www.developpez.net/forums/vie...agrid+checkbox

    c'est a dire que quand mes check boxes sont coche par defaut, ya pas de probleme, il les voit bien cochees, mais si elle sont unchecked, alors la, j'ai beau les cochees, ca change rien... mais je vais voir avec le databind()

  10. #10
    Membre éprouvé
    Inscrit en
    Février 2003
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 113
    Par défaut
    Je crois que c'est une histoire de viewState regarde dans les tags de ta page ASPX si tu as EnableViewState="true"

  11. #11
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Par défaut
    c'est bon, ne vous occupez plus de moi.. je suis un boulet.. j'avais fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
                       BindDataGrid()
     
        End Sub
    en oubliant le if not IsPostBack... pfffffff. merki quand meme les gars

  12. #12
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Par défaut
    en fait, si, encore une derniere chose avant de vous laisser tranquille, pour recupere la valeur de la colonne en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dgPeople.Items(i).Cells(0).Controls(1).toString()
    done le type, et pour la valeur ???

  13. #13
    Membre éprouvé Avatar de chman
    Inscrit en
    Novembre 2002
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 94
    Par défaut
    ça dépend du type de controle que tu récupères (checkbox, textbox, etc...)

  14. #14
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Par défaut
    en fait, c'est un hyperlink, et je voudrai sa valeur...

  15. #15
    Membre éprouvé Avatar de chman
    Inscrit en
    Novembre 2002
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 94
    Par défaut
    tu castes le controle en hyperlien, ensuite tu as soit la propriété Text ou NavigateUrl

  16. #16
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2003
    Messages : 127
    Par défaut
    c'est pareil :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    hyperlien HL; 
    DataGridItem dgi; 
     
    for(int i=0;i<=DataGrid.Items.Count-1;i++) 
    { 
    dgi=DataGrid.Items[i]; 
     
    HL=(hyperlien ) dgi.FindControl("hyperlienX");//CheckBox1 étant le nom de la checkbox de ta template column. 
    if(HL.etc.) 
    { 
    } 
    }
    @+

  17. #17
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Par défaut
    merki pour tout les gars....!

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

Discussions similaires

  1. [VB.NET] DataGrid et double click
    Par mic56 dans le forum Windows Forms
    Réponses: 15
    Dernier message: 01/11/2006, 04h37
  2. [C#] [VS.NET] DataGrid invisible à l'execution
    Par patdez dans le forum ASP.NET
    Réponses: 2
    Dernier message: 18/06/2004, 14h22
  3. [VB.NET] DataGrid et CheckBox
    Par nmerydem dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/06/2004, 15h52
  4. [VB.NET] Datagrid + CheckBox : Cocher toutes les cases
    Par sirex007 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 24/05/2004, 15h33
  5. [VB.NET] Datagrid dans tabstrip : bug ?
    Par necro dans le forum ASP.NET
    Réponses: 13
    Dernier message: 23/02/2004, 10h23

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