Permettre de modifier une rangée d'un datagridview

Résolu
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 3 déc. 2013 à 21:31
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 4 déc. 2013 à 02:17
Bonjour,

j'ai un datagridview que je remplis avec un dataset
un textbox et un bouton
le datagridview est mis à readonly = true
je voudrais après avoir tapé un string dans le textbox et cliquer le bouton
selectioner la rangée dont rows(i).Cells(1).Value.ToString = la valeur du textbox
et mettre cette rangée à readonly = false pour permettre de modifier les données
des cellules
voila le code

DataGridView1.ReadOnly = True

Private Sub Buttonshow_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Buttonshow.MouseClick
For iter = 0 To DataGridView1.RowCount - 2
If DataGridView1.Rows(iter).Cells(1).Value.ToString = searchnametxt.Text Then
DataGridView1.Rows(iter).ReadOnly = False
DataGridView1.Rows(iter).Selected = True
exit for
End If
Next
End Sub

le code fonctionne pas comme voulu
la rangée est selectionnée mais DataGridView1.Rows(iter).ReadOnly = False
n'a pas d'effet

par contre si j'écris ainsi

' DataGridView1.ReadOnly = True 

Private Sub Buttonshow_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Buttonshow.MouseClick
For iter = 0 To DataGridView1.RowCount - 2
If DataGridView1.Rows(iter).Cells(1).Value.ToString = searchnametxt.Text Then
DataGridView1.Rows(iter).ReadOnly = False
DataGridView1.Rows(iter).Selected = True
Else
DataGridView1.Rows(iter).ReadOnly = True
End If
Next
End Sub

cela fonctionne la question pourquoi la 1 er méthode ne fonctionne pas ?

merci d'avance

1 réponse

cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
4 déc. 2013 à 02:17
au lieu de

DataGridView1.ReadOnly = True 

For iter = 0 To DataGridView1.RowCount - 2
DataGridView1.Rows(iter).ReadOnly = True
Next
0
Rejoignez-nous