Bonjour à tous,
voilà, je continue le développement de mon application et je coince sur un point particulier mais peut-être que mon choix de méthode n'est pas le bon.
Je m'explique :
J'ai deux datagridview remplit comme suit :
J'ai donc dans chaque datagriview mes données correctement affichées et chacun possède une colonne checkbox.
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35 'Remplissage des Datagridview Dim da As SqlDataAdapter Dim ds As DataSet Dim cmd As SqlCommand cnBD.Open() cmd = New SqlCommand("SELECT categories FROM categories", cnBD) da = New SqlDataAdapter(cmd) ' Création d'un dataset au besoin et destruction en fin de procédure ds = New DataSet da.Fill(ds, "categories") Dim chk As New DataGridViewCheckBoxColumn() DGVcat.Columns.Add(chk) DGVcat.DataSource = ds.Tables("categories") ' A demander sur le foruum fait pour cocher les checkbox For Each row As DataGridViewRow In DGVcat.Rows DGVcat.Rows(row.Index).SetValues(True) Next DGVcat.Columns(0).Width = 50 DGVcat.Columns(1).Width = 200 cmd = New SqlCommand("SELECT ss_cat,id_cat FROM ss_categories", cnBD) da = New SqlDataAdapter(cmd) ds = New DataSet da.Fill(ds, "ss_categories") chk = New DataGridViewCheckBoxColumn() DGVsscat.Columns.Add(chk) DGVsscat.DataSource = ds.Tables("ss_categories") For Each row As DataGridViewRow In DGVsscat.Rows DGVsscat.Rows(row.Index).SetValues(True) Next DGVsscat.Columns(0).Width = 50 DGVsscat.Columns(1).Width = 275 DGVsscat.Columns(2).Visible = False cnBD.Close()
J'ai réussit à ce que les colonnes checkbox soient cochées par défaut mais j'aimerais que :
Si je décoche une ligne du datagridview categories cela décoche les lignes correspondantes au sous-catégories (je précise que les tables categories et ss_categories sont liées avec le champs ID de la categorie).
Peut être même dans l'idéal griser les lignes en plus de décocher dans le datagridview ss_categories
Enfin, je dois récupérer les valeurs sélectionner de ses deux datagridview (valeur dont la case est cochées) pour les insérer dans une table echantillons contenant le champs cat et ss_cat ainsi que leur ID respectif.
j'ai réussi a comprendre comment vérifier par une boucle l'état de ma checkbox et afficher les libellés mais je bloque (voici le code ci-dessous qui n'a de valeur que de compréhension de la méthode) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 For Each row As DataGridViewRow In DGVcat.Rows If DGVcat.Rows(row.Index).Cells(0).Value = False Then MessageBox.Show(DGVcat.Rows(row.Index).Cells(1).Value) cnBD.Close() End If Next
Merci par avance pour vos éclaircissements.
Partager