Problème avec une dataGridView

Le
The Best Poster
Bonjour,

J'utilise une datagridview pour afficher des données provenant d'une
table d'une base SQL Server. Tout se passe bien.

Je voudrais accéder à la ligne sélectionnée par l'utilisateur dans ma
datagridview, en passant par la propriété :

madatagridview.SelectedRows

Or je constate que tout se passe bien sauf dans le cas où je clique sur
la ldernière ligne affichée dans la DataGridView. Dans ce cas,
madatagridview.SelectedRows est vide, et
madatagridview.SelectedRows.Count renvoie 0. Je ne comprend pas car
tout marche normalement si je sélectionne une autre ligne de la
DataGridView (dans ce cas madatagridview.SelectedRows.Count vaut 1).

Merci de vos conseils.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
The Best Poster
Le #21272131
En fait, il semble que le problème vienne d'un décalage entre la ligne
sélectionnée par l'utilisateur et celle que la DataGridView perçoit
comme sélectionnée, qui est systématiquement celle du dessous. Ce qui
explique que quand on clique sur la dernière, la propriété SelectedRows
est vide (car après la dernière ligne, il n'y a plus rien ...)

Mais cela ne me dit pas d'où vient ce décalage ???

Merci de vos conseils.
monalisa13 Hors ligne
Le #26364651
Le vendredi 26 Février 2010 à 14:51 par The Best Poster :
Bonjour,

J'utilise une datagridview pour afficher des données provenant d'une
table d'une base SQL Server. Tout se passe bien.

Je voudrais accéder à la ligne sélectionnée par
l'utilisateur dans ma
datagridview, en passant par la propriété :

madatagridview.SelectedRows

Or je constate que tout se passe bien sauf dans le cas où je clique sur

la ldernière ligne affichée dans la DataGridView. Dans ce cas,
madatagridview.SelectedRows est vide, et
madatagridview.SelectedRows.Count renvoie 0. Je ne comprend pas car
tout marche normalement si je sélectionne une autre ligne de la
DataGridView (dans ce cas madatagridview.SelectedRows.Count vaut 1).

Merci de vos conseils.


Bonjour tous,
J'aurais besoin de votre aide car je ne trouve pas de solution, et j'ai pourtant cherché.
Pour information, j'ai une base de données créer avec MySqL Query Browser, une connexion a été effectué avec visual basic, je veux afficher le resultat d'une requête MySql dans un DataGridView.
J'ai essai d'implémenter une procédure recherche dans un module en mettant en paramêtres DataGridView:

Public Sub Recherche(ByVal chaine As String, ByRef tab As DataGridView)
Try
connexion.Open()
Dim adapte As New MySqlDataAdapter(chaine, connexion)
Dim table As New DataTable
adapte.Fill(table)

Try
For c = 0 To table.Columns.Count
For r = 0 To table.Rows.Count
tab.Rows(r).Cells(c) = table.Rows(r).Item(c)
Next
Next
connexion.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub

et j'ai fais l'appeler dans un evenement click :

Private Sub searche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles searche.Click
Dim ch As String = "e;select libele from famille where libele = "e; & cher_par.Text & "e;;"e;
Recherche(ch, DataGridView2)
End Sub.

Mais rien n'est afficher, si quelqu'un peut m'apporter une solution.
Merci.
Publicité
Poster une réponse
Anonyme