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

Windows Forms Discussion :

[C#] Selection dans un DataGrid


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 8
    Par défaut [C#] Selection dans un DataGrid
    Quand je clique sur une ligne de mon Datagrid, je rentre dans la cellule cliquee. Mais je ne veux pas ca, je voudrais qu'en cliquant sur une cellule, cela me selectionne toute la ligne (sans rentrer dans ma cellule), comme si je cliquais sur le bouton de la premiere colonne du Datagrid correpondant a cette ligne : Comment faire ?

    Merci d'avance

  2. #2
    Membre éprouvé
    Avatar de crjo
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 81
    Par défaut
    Voici une solution que j'ai déjà utilisée (et qui donc fonctionne )

    Il faut te créer une classe qui dérive de DataGrid, et intercepter quand on il y a un clic sur une cellule :

    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
     
    public class MonDataGrid : System.Windows.Forms.DataGrid
    {
        public MonDataGrid()
        {
        }
     
        protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e)
        {
            DataGrid.HitTestInfo hti = this.HitTest(e.X, e.Y);
     
            // on intercepte quand l'utilisateur fait un clic gauche sur une cellule uniquement
            if ((e.Button == MouseButtons.Left) && (hti.Type == DataGrid.HitTestType.Cell))
            {
                this.ResetSelection();
                this.Select(hti.Row);
     
                // Astuce: pour que la petite flèche dans l'entête de ligne se place sur l'élément sélectionné
                this.CurrentRowIndex = hti.Row;
            }
            else
            {
                // Dans tous les autres cas, on fait le traitement de base.
                base.OnMouseDown(e);
            }
        }
    }
    La classe HitTestInfo permet de déterminer sur quel "partie" du DataGrid on a cliqué (cellule, entête de ligne, de colonne, partie en dessous des données, etc...)

    J'espère que ça te sera utile.

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 8
    Par défaut
    Merci beaucoup d'avoir pris le temps de me repondre, et en plus ca marche... merci

  4. #4
    Membre éprouvé
    Avatar de crjo
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 81
    Par défaut
    Aucun problème 8)

    Et n'oublie pas le tag résolu, sinon messieus les modérateurs vont te villipender

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

Discussions similaires

  1. Tester la selection des lignes dans un dataGrid
    Par dark_geek dans le forum Flex
    Réponses: 13
    Dernier message: 23/04/2010, 11h39
  2. Selection sur bouton dans un Datagrid
    Par chrisdot dans le forum Silverlight
    Réponses: 5
    Dernier message: 30/03/2010, 10h11
  3. [Dojo] Dijit.form.select dans un dojox.Grid.DataGrid
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 13
    Dernier message: 19/11/2009, 11h07
  4. probleme de selection dans une datagrid
    Par khayri dans le forum Struts 1
    Réponses: 3
    Dernier message: 15/05/2007, 22h06
  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