Colones automatiques, listbox [Résolu]

Messages postés
11
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
27 mai 2009
- - Dernière réponse : Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
- 27 mai 2009 à 16:36
Bonjour,

j'ai programmé une lecture de table que j'ai affiché dans une listbox sous la forme titre - année - Etat

Cependant les informations sont décalés d'une ligne à l'autre, ce n'est non seulement pas très esthétiques mais sur une grosse listbox c'est difficile pour se repérer, j'aimerais que les informations soient alignés.

J'ai essayé de mettre la listbox en multicolones mais je ne vois pas de différence, de plus je crois que même si j'y parvenais je ne sais pas comment ajouter les informations à tel ou tel colonne.

Pourriez vous m'aider sil vous plait.
Afficher la suite 

13 réponses

Meilleure réponse
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
3
Merci
possible avec un listbox, en ajoutant des tabulations pour séparer les données...

http://www.vbfrance.com/codes/LB_SETTABSTOPS-COLONNES-DANS-LISTBOX_20841.aspx

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 196 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
3
Merci
ListView1.View = View.Details
ListView1.Columns.Add("titre")
ListView1.Columns.Add("année")
ListView1.Columns.Add("état")

With ListView1.Items.Add("titre d'essai")
.SubItems.Add("2009")
.SubItems.Add("disponible")
End With
With ListView1.Items.Add("titre d'essai: le retour")
.SubItems.Add("2010")
.SubItems.Add("en production")
End With

ListView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 196 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
une ListView (DataGrid ou autre)
me semble plus indiqué.
Commenter la réponse de Renfield
Messages postés
11
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
27 mai 2009
0
Merci
Je le sais bien cependant j'aurais préféré une listbox, je trouve que ça présente mieux
Commenter la réponse de kawa67310
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
tu peux masquer les entetes de colonnes de ta listview, et demander a ce que la selection se fasse sur toute la ligne.

visuellement, on serai assez proche de ce que peux proposer un listbox...
Commenter la réponse de Renfield
Messages postés
11
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
27 mai 2009
0
Merci
Bon ben je vais me rabattre sur un datagrid si je trouve pas pour la listbox :s merci
Commenter la réponse de kawa67310
Messages postés
11
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
27 mai 2009
0
Merci
Effectivement ça correspond à ce que je recherchais ^^ je t'en remercie.

Cependant tu as attiré ma curiosité sur les listview,  je ne sais pas les utiliser.

Pourrais tu me donner l'exemple de l'ajout de trois colonnes (titre, année, etat)

ainsi que l'assignation de trois valeurs à ses colonnes respectives (titre d'essai, 2009, disponible) ????

je te remercie
Commenter la réponse de kawa67310
Messages postés
11
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
27 mai 2009
0
Merci
Vraiment magnifique ... je te remercie mille fois, j'étais en train de me battre avec ma listview ^^ merci beaucoup.
Commenter la réponse de kawa67310
Messages postés
11
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
27 mai 2009
0
Merci
Il me reste un dernier souci ... désolé

Lorsque je veux récupérer le contenu d'un listview je procède comme ceci

    Private Sub listview1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lv_livres.SelectedIndexChanged
        tb_titre.Text = lv_listview1.SelectedItems(0).Text
    End Sub

il me récupère donc mon titre cependant cela ne marche qu'une fois, si je clique ailleurs le programme plante, de plus je ne sais récupérer que les titres ...

Désolé mais les listview apparemment ça veut pas rentrer
Commenter la réponse de kawa67310
Messages postés
11
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
27 mai 2009
0
Merci
Il faudrait que je fasse un foreach pour la sélection mais je sais pas sur quoi boucler.
Commenter la réponse de kawa67310
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
Private Sub ListView1_ItemSelectionChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.ListViewItemSelectionChangedEventArgs) Handles ListView1.ItemSelectionChanged
MessageBox.Show("Info: " & e.Item.Text & Environment.NewLine & _
"Année: " & e.Item.SubItems(1).Text & Environment.NewLine & _
"Etat: " & e.Item.SubItems(2).Text)
End Sub
Commenter la réponse de Renfield
Messages postés
11
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
27 mai 2009
0
Merci
Je te remercie, j'ai plus de problème et j'ai sut l'adapter au reste de mon code :d

si tu veux bien juste m'expliquer concrètement ce que fait

with ... end with

et pourquoi on écrit

        With ListView1.Items.Add("titre d'essai: le retour")

            .SubItems.Add("2010")

            .SubItems.Add("en production")

        End With

au lieu de

        With ListView1.Items.Add("titre d'essai: le retour").SubItems.Add("2010").SubItems.Add("en production")

        End With

je vois comment ça fonction etc mais si tu pouvais me donner des explications affin que je l'assimile ce serait sympa
Commenter la réponse de kawa67310
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
c'est en remplacement de (en gros et de tête)

Dim oItem as ListItem
oItem = ListView1.Items.Add("titre d'essai: le retour")
oItem.SubItems.Add("2010")
oItem.SubItems.Add("en production")
Commenter la réponse de Renfield