none
WinForm : DataGridView et sélection RRS feed

  • Question

  • Bonjour,

    Dans mon appli WinForm, j'affiche les données d'une DataTable dans un DataGridView.

    Cela fonctionne (heureusement), mais la première cellule se trouve toujours sélectionnée alors que je voudrais qu'elle ne le soit pas.

    Voici les instructions du programme qui affiche les données dans le grid :

            '-- Réinitialiser le Grid
            Dim old As DataTable = dgv.DataSource
            If old IsNot Nothing Then old.Dispose()
            dgv.DataSource = t.Biblio     ' Nouvelle table
            '
            dgv.Sort(dgv.Columns(0), ListSortDirection.Ascending)
            dgv.Enabled = True
            dgv.Visible = True
            dgv.ClearSelection()
    
    


    Le ClearSelection ne devrait-il pas justement supprimer cette sélection ?

    Merci de vos lumières. Passez de bonnes fêtes de fin d'année.

    Bien cordialement.


    Alain
    jeudi 29 décembre 2011 18:05

Réponses

  • Bonjour,

    Vous avez du faire l'appel dgv.ClearSelection() avant même que votre contrôle ne soit dessiné (dans l'even Load de votre Form par exemple), ce qui

    annule son effet.

    Une solution consisterait en faire l'appel dgv.ClearSelection() dans le handler Shown de votre Form :

     

        Private Sub Form1_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown
             dgv.ClearSelection()
        End Sub
    
    

     

    Si une solution propre existe, je suis preneur. 

     

    Cordialement.


    jeudi 29 décembre 2011 22:06
    Auteur de réponse
  • Bonjour Ould,

    Merci de votre réponse.

    En rouvrant mon appli, après avoir lu votre réponse, je me suis aperçu que le problème n'était pas tout à fait celui que j'avais exposé. En fait, c'est lorsque je clique sur le header d'une colonne que la cellule (0, 0) du grid se trouve sélectionnée...

    J'ai donc intercepté l’évènement correspondant et j'y ai placé mon dgv.ClearSelection(). ça fonctionne.

    Merci de votre aide.

    Bonne année 2012 à tous les membres du forum.


    Alain
    lundi 2 janvier 2012 10:52

Toutes les réponses