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

C# Discussion :

C# - récupérer l'index de la ligne cliquée d'un datagrid


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 14
    Points
    14
    Par défaut C# - récupérer l'index de la ligne cliquée d'un datagrid
    Bonjour,

    je rappelle que je suis débutant car cette question est sans doute très simple, mais je bloque !

    Je voudrais sur l'élement click de mon datagrid, donc sur la sélection d'une ligne, récupérer la valeur de la colonne 0 de la ligne sélectionnée.

    Tout ça pour apres passer la valeur dans un paramètre de ma procédure et ramener toutes les infos qui vont bien !

    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    daInfo.SelectCommand.Parameters.Add("@CODE", SqlDbType.Int, 3).Value = dt.Rows[dgFilms.ligneselectionnée.valeur dans colonne 0];
    C'est la partie en gras que je n'arrive pas à ramener ! je n'ai pas de dgFilms.selectedIndex ou un truc comme ça !

    Merci de votre aide !

    A +
    Lejeffouille

  2. #2
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    Je t'invite à comprendre comment fonctionne la gestion des données avec l'interface utilisateur avec dotnet. Ca l'aire de plutot bien expliqué là: http://www.akadia.com/services/dotne...urrencyManager
    ou bien http://msdn2.microsoft.com/fr-fr/lib...er(VS.80).aspx
    En gros, il te faut retrouver le CurrencyManager qui est branché sur tes données (DataTable par ex ?) et tu auras la propriété Position et plein d'autres choses intéressantes.

  3. #3
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388

  4. #4
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 14
    Points
    14
    Par défaut
    Merci.
    Mais j'ai parcouru vos liens et je pensais que c'était une instruction toute simple et là ça me complique tout ! (surtout les liens en anglais...)

    ya pas une instruction qui permette de savoir sur quelle ligne d'un datagrid on se trouve ? (ou sur quelle ligne du datatable on se trouve...?)

    merci.

  5. #5
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par lejeffouille Voir le message
    Merci.
    Mais j'ai parcouru vos liens et je pensais que c'était une instruction toute simple et là ça me complique tout ! (surtout les liens en anglais...)

    ya pas une instruction qui permette de savoir sur quelle ligne d'un datagrid on se trouve ? (ou sur quelle ligne du datatable on se trouve...?)

    merci.
    Il doit y avoir la réponse sur le lien que je tai donnée sinon fait une recherche sur le forum, tu n'es pas le premier à avoir eu ce soucis

  6. #6
    Membre averti Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Points : 342
    Points
    342
    Par défaut
    Attention au mode de selection de ton DataGridView: Une ou plusieurs rows peuvent-elles etre selectionnees a la fois (il faut que tu bloques la selection a une seule ligne dans les properties de ton DataGridView --> MultiSelect et SelectionMode).

    Ensuite je te conseilles d'ecrire ton code dans l'event CellClick et tu te serts de l'argument de l'event DataGridViewCellEventArgs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private void Mondgv_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        if (e.RowIndex > 0) // Si l'index est superieur a 0 (j'ai deja eu des problemes sans ca..
        {
            if (Mondgv.Rows[e.RowIndex].IsNewRow == false) // Si ce n'est pas la ligne vide
            {
                // Recuprere la valeur de la colonne 0 de la ligne cliquee.
                string MaColonne0 = Mondgv.Rows[e.RowIndex].Cells[0].Value.ToString();
            }
        }
    }
    Rows[e.RowIndex] = l'index de la ligne cliquee. (Fais attention lorsque lutilisateur clique sur la nouvelle row vide en bas de ton DataGridView).
    Cell[0] avec 0 qui est l'index de la colonne (toi tu voulais 0).

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 14
    Points
    14
    Par défaut
    ouais j'ai pas de datagridview (VS 2005 ? ) c'est un simple datagrid (je suis en VS 2003)

    mais j'ai réussi avec le hittestinfo sur la cellule cliquée... Merci !

  8. #8
    Membre averti Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Points : 342
    Points
    342
    Par défaut
    Si tu as reussi, met le tag [RESOLU]

  9. #9
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 14
    Points
    14
    Par défaut
    ok excusez moi je débute, et dans le forum aussi !

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

Discussions similaires

  1. Récupérer l'index d'une ligne de DataTable
    Par zooffy dans le forum ASP.NET
    Réponses: 4
    Dernier message: 06/11/2017, 16h43
  2. Réponses: 3
    Dernier message: 12/12/2010, 10h51
  3. récupérer l'index d'une ligne d'un gridview
    Par xavpiaf dans le forum ASP.NET
    Réponses: 4
    Dernier message: 17/06/2008, 12h06
  4. [DOM] Comment récupérer la valeur d'une ligne cliquée dans un <DIV>?
    Par insane_80 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/07/2007, 16h11
  5. Récupérer l'index de la ligne d'une TDBLookUpListBox
    Par navis84 dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2005, 10h13

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