[VB.NET] Colonne checkbox dans un gridview
plop
j'ai un ptit soucis concernant une colonne de type CheckBox dans un gridview. Ci dessous le code pour alimenter le gridview.
Code:
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| rgvrecherche.Columns.Clear()
'Création des colonnes de la datatable
Dim dt As New DataTable
dt.Columns.Add("NumGroupe")
dt.Columns.Add("Choix")
dt.Columns.Add("LibelleGroupe")
dt.Columns.Add("Formateur")
dt.Columns.Add("DateEntree")
dt.Columns.Add("DateSortie")
dt.Columns.Add("LieuFormation")
dt.Columns.Add("NomFormation")
'Alimenter la datatable
Dim monReader As OleDb.OleDbDataReader = QuizzDll.BDD_Quizz.Session.GetListeSessions
While monReader.Read
Dim row As DataRow = dt.NewRow()
row(RGV_SESSION.num_groupe) = monReader("NumGroupe")
row(RGV_SESSION.choix) = True
row(RGV_SESSION.libelle_session) = monReader("LibelleGroupe")
row(RGV_SESSION.formateur) = monReader("Formateur")
row(RGV_SESSION.date_entree) = monReader("DateEntree")
row(RGV_SESSION.date_sortie) = monReader("DateSortie")
row(RGV_SESSION.lieu_formation) = monReader("LieuFormation")
row(RGV_SESSION.nom_formation) = monReader("NomFormation")
dt.Rows.Add(row)
End While
'Création des colonnes du gridview
rgvrecherche.MasterTemplate.Columns.Add(New GridViewTextBoxColumn("NumGroupe"))
rgvrecherche.MasterTemplate.Columns.Add(New GridViewCheckBoxColumn("Choix"))
rgvrecherche.MasterTemplate.Columns.Add(New GridViewTextBoxColumn("LibelleGroupe"))
rgvrecherche.MasterTemplate.Columns.Add(New GridViewTextBoxColumn("Formateur"))
rgvRecherche.MasterTemplate.Columns.Add(New GridViewTextBoxColumn("DateEntree"))
rgvrecherche.MasterTemplate.Columns.Add(New GridViewTextBoxColumn("DateSortie"))
rgvrecherche.MasterTemplate.Columns.Add(New GridViewTextBoxColumn("LieuFormation"))
rgvrecherche.MasterTemplate.Columns.Add(New GridViewTextBoxColumn("NomFormation"))
'Propriété lecteur seule des colonnes
rgvrecherche.MasterTemplate.Columns(RGV_SESSION.num_groupe).ReadOnly = True
rgvrecherche.MasterTemplate.Columns(RGV_SESSION.choix).ReadOnly = False
rgvrecherche.MasterTemplate.Columns(RGV_SESSION.libelle_session).ReadOnly = True
rgvrecherche.MasterTemplate.Columns(RGV_SESSION.formateur).ReadOnly = True
rgvrecherche.MasterTemplate.Columns(RGV_SESSION.date_entree).ReadOnly = True
rgvrecherche.MasterTemplate.Columns(RGV_SESSION.date_sortie).ReadOnly = True
rgvrecherche.MasterTemplate.Columns(RGV_SESSION.lieu_formation).ReadOnly = True
rgvrecherche.MasterTemplate.Columns(RGV_SESSION.nom_formation).ReadOnly = True
rgvrecherche.MasterTemplate.Caption = "Master"
rgvrecherche.MasterTemplate.DataSource = dt |
Donc par défaut, la colonne checkbox est cochée pour toutes les lignes.
Pas de problème pour décocher, c'est la seule colonne qui n'est pas en lecture seule.
Par contre pour recocher je suis obligé de cocher la case puis de valider avec ENTER.
une idée ?