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 :

Capter clic sur la ligne d'un datagrid


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Par défaut Capter clic sur la ligne d'un datagrid
    Bonsoir à tous,

    Voila j'ai un petit probleme depuis plusieurs jours et je commence à me demander si je n'essaye pas de réaliser l'impossible.
    Voila j'ai une gridview et j'aimerais que lorsque je clic sur une ligne j'appelle une methode cela marche pour du js mais j'aimerais appeler une methode de mon code C#

    Voili voilou.
    Merci d'avance

  2. #2
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Il te faut alors déclencher un Postback depuis le js.

    Tu trouveras quelques explications sur comment faire ici

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2010
    Messages : 164
    Par défaut
    Tu peux aussi appeler depuis le javascript une méthode de ton code behind mais celle ci devra absolument être statique.

    Tout dépend de ce que tu veux faire.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Par défaut
    Merci pour ce lien,

    Par contre ma page herite de systeme.web.ui.page et non webcontrol donc cela ne fonctionne pas mais je vais chercher si je peux pas l'adapter.

    PS : J'adore ta ptite citation ^^

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Par défaut
    Je vais peut etre expliqué plus clairement ce que je veux faire.

    En fait j'ai une datagrid que je remplit a partir de ma bd et lorsque je clic sur une ligne je veux que le champs d'une colonne (la numero 1 dirons nous) remplisse une textbox. Et idéalement a partir de ce resultat je refait une recherche dans ma bd pour remplir une liste deroulante.

    Par contre j'avoue que je suis assez alergique au js donc meme appelé une methode statique a partir du js je ne sais pas faire.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2010
    Messages : 164
    Par défaut
    si tu veux récupérer le clic côté serveur, essaye 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
    15
     
    protected override void Render(HtmlTextWriter writer)
            {
                foreach (GridViewRow row in GridView1.Rows)
                {
                    if (row.RowType == DataControlRowType.DataRow)
                    {
                        row.Attributes["onmouseover"] = "this.style.cursor='hand';this.style.textDecoration='underline';";
                        row.Attributes["onmouseout"] = "this.style.textDecoration='none';";
     
                        row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(GridView1,"Select$" + row.DataItemIndex, true);
                    } 
                }
                base.Render(writer);
            }
    ensuite, dans l'évènement RowCommand de ta grille, tu "récupères" le clic et la ligne associée comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                String txt = GridView1.Rows[Convert.ToInt32(e.CommandArgument)].Cells[1].Text;
                TextBox1.Text = txt;            
            }
    l'index de la ligne active étant spécifié dans le e.CommandArgument, tu peux alors lire la valeur de la cellule qui t'intéresse grâce à son index.

    ensuite, tu fais ce que tu veux avec...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Par défaut
    Youhou ca marche du feu de dieu.

    Merci merci merci

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2010
    Messages : 164
    Par défaut
    avec plaisir

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Par défaut
    Par contre quand je l'ai test ca passé mais dans le projet réel j'ai des ct100_content.... qui se mette et du coup ca foire car dans le onclick c'est ct100$content...
    et ca se met par défaut aurais-tu une idée?

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Par défaut
    Bon le probleme ne vient pas de la je dois avoir une couille dans mon projet.

    En tout cas encore merci pour l'aide

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/04/2009, 16h07
  2. IceFaces : double clic sur une ligne dans une table
    Par sebastiens57 dans le forum JSF
    Réponses: 4
    Dernier message: 13/11/2008, 10h55
  3. [JTable] Repérer un double clic sur une ligne
    Par nolofinwe dans le forum Composants
    Réponses: 2
    Dernier message: 28/05/2008, 15h53
  4. Evenement double click sur une ligne d'un DataGrid
    Par imad_eddine dans le forum ASP.NET
    Réponses: 7
    Dernier message: 19/11/2007, 17h24
  5. click sur une ligne d'un datagrid
    Par seckinfo dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/02/2007, 10h42

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