Checkedlistbox

Résolu
debutant71 Messages postés 52 Date d'inscription dimanche 19 octobre 2014 Statut Membre Dernière intervention 17 juillet 2015 - Modifié par jordane45 le 25/10/2014 à 23:52
debutant71 Messages postés 52 Date d'inscription dimanche 19 octobre 2014 Statut Membre Dernière intervention 17 juillet 2015 - 11 nov. 2014 à 23:35
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

9 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
25 oct. 2014 à 21:26
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) ?
0
debutant71 Messages postés 52 Date d'inscription dimanche 19 octobre 2014 Statut Membre Dernière intervention 17 juillet 2015
Modifié par jordane45 le 25/10/2014 à 23:52
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
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
11 nov. 2014 à 20:34
Bonsoir,

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

As-tu essayer de réduire la largeur des colonnes à masquer en mettant à 0 ?
0
debutant71 Messages postés 52 Date d'inscription dimanche 19 octobre 2014 Statut Membre Dernière intervention 17 juillet 2015
11 nov. 2014 à 20:51
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
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
11 nov. 2014 à 21:12
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 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
debutant71 Messages postés 52 Date d'inscription dimanche 19 octobre 2014 Statut Membre Dernière intervention 17 juillet 2015
11 nov. 2014 à 21:40
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.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
Modifié par cs_ShayW le 11/11/2014 à 21:54
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
0
debutant71 Messages postés 52 Date d'inscription dimanche 19 octobre 2014 Statut Membre Dernière intervention 17 juillet 2015
11 nov. 2014 à 22:00
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.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
11 nov. 2014 à 22:33
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
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
Modifié par cs_ShayW le 11/11/2014 à 23:02
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)

0
debutant71 Messages postés 52 Date d'inscription dimanche 19 octobre 2014 Statut Membre Dernière intervention 17 juillet 2015
11 nov. 2014 à 23:00
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.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
Modifié par cs_ShayW le 11/11/2014 à 23:05
De rien
je viens d'ajouter la ligne
DataGrid1.AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders)
0
debutant71 Messages postés 52 Date d'inscription dimanche 19 octobre 2014 Statut Membre Dernière intervention 17 juillet 2015
11 nov. 2014 à 23:35
oui je l'ai vu après.
0
Rejoignez-nous