Checkedlistbox [Résolu]

Signaler
Messages postés
53
Date d'inscription
dimanche 19 octobre 2014
Statut
Membre
Dernière intervention
17 juillet 2015
-
Messages postés
53
Date d'inscription
dimanche 19 octobre 2014
Statut
Membre
Dernière intervention
17 juillet 2015
-
Bonjour,

j'ai créer une checkedlistbox pour recupérer le nom des colonnes de la table et j'arrive à parcourir la checklistbox pour l'afficher dans un datagridview mais sa m'affiche length avec des chiffres.




mon code
Dim i As String
        For Each i In Chklistbox.CheckedItems

            Me.DataGrid1.DataSource = Chklistbox.CheckedItems

        Next

je pense qu'il doit manquer beaucoup de chose mais je debute.

je voudrai savoir comment faire pour afficher le nom de la colonne sélectionner .

merci.


EDIT : Ajout des balises de code
A voir également:

9 réponses

Messages postés
14799
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
6 juin 2021
155
Dim i As String
For Each i In Chklistbox.CheckedItems

Me.DataGrid1.DataSource = Chklistbox.CheckedItems

Next 


As-tu lu ton code ?
Que fais ce code (en français) ?

Pour chaque item sélectionné, tu mets comme source de donnée la liste des éléments sélectionnés.
Comment fais-tu ta requête à ta base de données pour remplire ta grille (sans prendre en compte les colonnes sélectionnées dans un premier temps) ?
Messages postés
53
Date d'inscription
dimanche 19 octobre 2014
Statut
Membre
Dernière intervention
17 juillet 2015

For Each colonne In table.Columns
            Fdepre.Chklistbox.Items.Add(colonne.ColumnName())
            
        Next

sinon quand je mets comme ça je ne sélectionne qu'un choix mais ça m'affiche toute la table.je sais il doit manquer beaucoup de chose mais je débute.
Me.DataGrid1.DataSource = table



EDIT : Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Messages postés
14799
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
6 juin 2021
155
Bonsoir,

désolé pour le délai de réponse.

As-tu essayer de réduire la largeur des colonnes à masquer en mettant à 0 ?
Messages postés
53
Date d'inscription
dimanche 19 octobre 2014
Statut
Membre
Dernière intervention
17 juillet 2015

Bonsoir,
c'est pas grave pour le délai chacun a c'est occupation
Aurai tu un exemple je ne c'est pas comment faire.
j'ai essayer plusieurs choses mais la je seche.
merci
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut

Tu veux copier ta 'table' dans un datagridview ?
A quoi sert le checklistbox ? si tu copie toute la table
et ta table est un datatable ?
Messages postés
53
Date d'inscription
dimanche 19 octobre 2014
Statut
Membre
Dernière intervention
17 juillet 2015

oui je veux copier ma table dans un datagridview.
j'arrive à récupérer le nom des colonne de ma table dans ma checklistbox mais quand je coche une case elle m'affiche toute la table ou lengt comme dans l'exemple ci-dessus.
en fait ma checklistbox me permettrai d'afficher que les colonnes et les données qui vont avec de ma table sélectionner dans ma checklistbox.Oui ma table est une datatable.
j'espere que je suis assez claire.
merci.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Private Sub CopyTableInDatagridview()
'Copie le datatable dans le datagridview
DataGrid1.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Sunken
DataGrid1.Font = New Font("arial", 14, FontStyle.Bold, GraphicsUnit.Pixel)
DataGrid1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing
DataGrid1.EnableHeadersVisualStyles = False
DataGrid1.ColumnHeadersDefaultCellStyle.BackColor = Color.PowderBlue
Dim bds As New BindingSource
bds.DataSource = table
DataGrid1.DataSource = bds
DataGrid1.AutoSize = True
DataGrid1.AutoResizeColumns()

End Sub
Messages postés
53
Date d'inscription
dimanche 19 octobre 2014
Statut
Membre
Dernière intervention
17 juillet 2015

Merci pour ton code mais quand je choisi une ou plusieurs checkbox dans mon checklistbox ça m'affiche toujours toute la table dans mon datagirdview et je veux qu'il m'affiche que les colonnes que j'ai sélectionner.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
peut etre le contraire de ne pas afficher les colonnes non checked
la Sub CopyTableInDatagridview copie tout le datatable
maintenant il suffit d'ajouter une boucle

For iter = 0 To CheckedListBox1.Items.Count - 1
If CheckedListBox1.GetItemChecked(iter) = False Then
DataGrid1.Columns(CheckedListBox1.Items(iter).ToString).Visible = False
End If
Next
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
erreur plutot ainsi
à placer où tu valides ton checklistbox
 For Each item In CheckedListBox1.Items
If Not CheckedListBox1.CheckedItems.Contains(item) Then
DataGrid1.Columns(item.ToString).Visible = False
End If
Next
DataGrid1.AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders)

Messages postés
53
Date d'inscription
dimanche 19 octobre 2014
Statut
Membre
Dernière intervention
17 juillet 2015

Merci cs_ShayW ça marche
J'avais pas penser à faire l'inverse

bonne soirée.

ps : tes deux code marche je viens de les essayer.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
De rien
je viens d'ajouter la ligne
DataGrid1.AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders)
Messages postés
53
Date d'inscription
dimanche 19 octobre 2014
Statut
Membre
Dernière intervention
17 juillet 2015

oui je l'ai vu après.