Checkedlistbox [Résolu]

debutant71 53 Messages postés dimanche 19 octobre 2014Date d'inscription 17 juillet 2015 Dernière intervention - 19 oct. 2014 à 15:41 - Dernière réponse : debutant71 53 Messages postés dimanche 19 octobre 2014Date d'inscription 17 juillet 2015 Dernière intervention
- 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
Afficher la suite 

13 réponses

Répondre au sujet
NHenry 14134 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 23 avril 2018 Dernière intervention - 25 oct. 2014 à 21:26
0
Utile
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) ?
Commenter la réponse de NHenry
debutant71 53 Messages postés dimanche 19 octobre 2014Date d'inscription 17 juillet 2015 Dernière intervention - Modifié par jordane45 le 25/10/2014 à 23:52
0
Utile
1
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
NHenry 14134 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 23 avril 2018 Dernière intervention - 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 ?
Commenter la réponse de debutant71
debutant71 53 Messages postés dimanche 19 octobre 2014Date d'inscription 17 juillet 2015 Dernière intervention - 11 nov. 2014 à 20:51
0
Utile
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
Commenter la réponse de debutant71
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 11 nov. 2014 à 21:12
0
Utile
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 ?
Commenter la réponse de cs_ShayW
debutant71 53 Messages postés dimanche 19 octobre 2014Date d'inscription 17 juillet 2015 Dernière intervention - 11 nov. 2014 à 21:40
0
Utile
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.
Commenter la réponse de debutant71
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - Modifié par cs_ShayW le 11/11/2014 à 21:54
0
Utile
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
Commenter la réponse de cs_ShayW
debutant71 53 Messages postés dimanche 19 octobre 2014Date d'inscription 17 juillet 2015 Dernière intervention - 11 nov. 2014 à 22:00
0
Utile
1
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.
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 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
Commenter la réponse de debutant71
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - Modifié par cs_ShayW le 11/11/2014 à 23:02
0
Utile
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)

Commenter la réponse de cs_ShayW
debutant71 53 Messages postés dimanche 19 octobre 2014Date d'inscription 17 juillet 2015 Dernière intervention - 11 nov. 2014 à 23:00
0
Utile
2
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.
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 11 nov. 2014 à 23:05
De rien
je viens d'ajouter la ligne
DataGrid1.AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders)
debutant71 53 Messages postés dimanche 19 octobre 2014Date d'inscription 17 juillet 2015 Dernière intervention - 11 nov. 2014 à 23:35
oui je l'ai vu après.
Commenter la réponse de debutant71

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.