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 :

Selectionner une row dans DataGridView


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 37
    Points : 28
    Points
    28
    Par défaut Selectionner une row dans DataGridView
    Bonjour,

    Dans un DataGridView, comment faire pour :
    - sélectionner une row particulière (par programme, pas en cliquant) ,
    - faire en sorte de la voir dans la fenêtre,
    - avoir une visualisation semblable à cellle qu'on aurait obtenue en cliquant dans la coloone header (toutes les cellules de la ligne avec la même background color).

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 43
    Points : 40
    Points
    40
    Par défaut
    Même question, j'essaie d'aller à une ligne en programmation et je n'y arrive pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     int iLigneCourrante=dgrvGen.CurrentRow.Index;
    // Je relis les données par exemple
    // Je veux revenir à ma ligne courante
    dgrvGen.CurrentRow.Index = iLigneCourrante;  --> pas possible en lecture seule
    Alors comment faire ?

    Cela existe avec le DataGrid, cela doit bien exister pour le DataGridView ...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    Bonjour,

    J'ai trouvé pour aller à une ligne donnée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyGridView.CurrentCell=MyGridview.Rows[iLigneCourrante].Cells[0] ;
    Par contre, je ne sais toujours pas capable de faire ceci :
    avoir une visualisation semblable à cellle qu'on aurait obtenue en cliquant dans la coloone header (toutes les cellules de la ligne avec la même background color).

  4. #4
    Membre actif Avatar de Mast3rMind
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Février 2006
    Messages : 226
    Points : 219
    Points
    219
    Par défaut
    Bonjour à vous deux,

    Pour ce qui est de l'attribut SelectedRows et autres, je choisis toujours de faire moi-même le traitement nécessaire quant à la couleur de la ligne (par exemple).

    Ce que je fais habituellement, c'est que je désactive la sélection multiple, et j'active la sélection par cellule.

    Ensuite, je traite moi-même le click sur une cellule, et je colore la ligne en question. Voici un petit exemple:

    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
    private void MyDataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                Int32 nSelectedRowIndex = e.RowIndex;
                Int32 nSelectedColIndex = e.ColumnIndex;
     
                // Not a header cell
                if (nSelectedRowIndex != -1)
                {
    		// La ligne est déjà sélectionnée
                    if (MyDataGridView.Rows[nSelectedRowIndex].DefaultCellStyle.BackColor == m_colorSelected)
                    {
                        MyDataGridView.Rows[nSelectedRowIndex].DefaultCellStyle.BackColor = m_colorDefault;
                    }
                    else // La ligne n'est pas sélectionnée
                    {
                        MyDataGridView.Rows[nSelectedRowIndex].DefaultCellStyle.BackColor = m_colorSelected;
                    }
     
                    updateData(true);
                }
             }
    Où m_colorDefault et m_colorSelected sont des objets de type Color.

    Au plaisir

Discussions similaires

  1. [Débutant] Changer couleur d'une row dans un Datagridview bindé
    Par jeremyvb11 dans le forum VB.NET
    Réponses: 5
    Dernier message: 13/01/2013, 15h32
  2. sélectionner une row dans une DataGridView
    Par Shadam dans le forum VB.NET
    Réponses: 5
    Dernier message: 05/05/2011, 10h18
  3. Comment selectionner un row dans DBGrid par programmation
    Par lingli dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/06/2006, 12h58
  4. Selectionner une option dans un select
    Par _beber85 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/04/2006, 16h48
  5. [FLASH 8] Selectionner une ligne dans une List
    Par Bb_TiTi dans le forum Flash
    Réponses: 1
    Dernier message: 02/01/2006, 17h47

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