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 :

Gridview et selection de ligne


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 12
    Par défaut Gridview et selection de ligne
    Bonjour !

    Voilà mon problème :

    Je veux selectionner une ligne en cliquant dessus, pour ceci voici 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
     
    protected override void Render(HtmlTextWriter writer)
            {
                foreach (GridViewRow gvr in MonGridView.Rows)
                {
                    if (gvr.RowType == DataControlRowType.DataRow)
                    {
                        gvr.Attributes["OnClick"] = ClientScript.GetPostBackEventReference(MonGridView, "Select$" + gvr.RowIndex, true);
     
                        gvr.Style["cursor"] = "hand";
                    }
     
                }
                base.Render(writer);
     
            }
    Jusque là tout va bien ça marche bien

    Le fait est que j'ai aussi une colonne (CommandField) pour faire la modification, et c'est là qu'est le conflit, quand je clique sur "modifier" la ligne se sélectionne au lieu d'utiliser le "rowEditing" ...
    J'aimerai donc que la selection se fasse n'importe où dans la ligne SAUF sur cette colonne ...

    J'ai pensé à utiliser le RowDataBound pour configurer le OnClientClick mais dans ce cas là je ne sais pas ce qu'il faut lui passer

    Voici le code que je met dans le rowdatabound ça sera peut être pus compréhensible

    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
     
    protected void grdView_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    foreach (DataControlFieldCell cell in e.Row.Cells)
                    {
                        foreach (Control control in cell.Controls)
                        {
                            if (control is ImageButton)
                            {
                                ImageButton imageButton = (ImageButton)control;
                                if (imageButton.CommandName == "Edit")
                                {
                                   imageButton.OnClientClick = // ? c'est ici que je sèche ?
                                }
                            }
                        }
                    }
                }
            }
    Merci d'avance à ceux qui pourront (voudront ?) m'aider

  2. #2
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    Salut

    tu y es presque.

    Lors de ton parcours des cellules, tu ajoutes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cell.Attributes["OnClick"] = ClientScript.GetPostBackEventReference(MonGridView, "Select$" + gvr.RowIndex, true);
    sauf sur celles ou il y a les boutons.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 12
    Par défaut
    Merci beaucoup ça a marché

    Le code pour ceux que ça intéresse :

    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
     
     
    protected override void Render(HtmlTextWriter writer)
            {
                foreach (GridViewRow gvr in grdViwProfil.Rows)
                {
                    if (gvr.RowType == DataControlRowType.DataRow)
                    {
                        for (int i = 0; i < gvr.Cells.Count; i++)
                        {
                            if (grdViwProfil.HeaderRow.Cells[i].Text.Equals("&nbsp;"))
                            {
                                // rien (on est dans les commandField)
                            }
                            else
                            {
                                gvr.Cells[i].Attributes["OnClick"] = ClientScript.GetPostBackEventReference(grdViwProfil, "Select$" + gvr.RowIndex, true);
     
                                gvr.Cells[i].Style["cursor"] = "hand";
                            }
                        }
                    }
     
                }
                base.Render(writer);
     
            }

  4. #4
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    Oublies pas le tag résolu

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

Discussions similaires

  1. select dernière ligne...
    Par ludophil dans le forum Requêtes
    Réponses: 4
    Dernier message: 22/05/2009, 21h09
  2. Gridview+changer couleur de ligne apres selection
    Par lg022 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 10/07/2008, 11h22
  3. Réponses: 2
    Dernier message: 16/07/2007, 08h39
  4. Pb de select : retrouver lignes identiques
    Par lamf dans le forum Requêtes
    Réponses: 11
    Dernier message: 07/01/2006, 20h53
  5. [C#] Sélection de lignes dans un DataGrid
    Par wayak3 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 12/07/2005, 10h17

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