cs_PROGRAMMIX
Messages postés1133Date d'inscriptionmercredi 2 octobre 2002StatutMembreDernière intervention24 juillet 2011
-
25 avril 2005 à 16:51
50415041
Messages postés3Date d'inscriptionlundi 20 novembre 2006StatutMembreDernière intervention20 novembre 2006
-
20 nov. 2006 à 10:54
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
50415041
Messages postés3Date d'inscriptionlundi 20 novembre 2006StatutMembreDernière intervention20 novembre 2006 20 nov. 2006 à 10:54
OK MEN
lhoussin2006
Messages postés6Date d'inscriptionmercredi 2 août 2006StatutMembreDernière intervention 9 août 2006 22 août 2006 à 11:51
j'ai pas vu pour les Listview mais je n'estime pas que j'arriverais à les comprendre, ce qui est tout à fait génial c'est l'idée et l'algorithme que tu as choisis pour te débrouiller.
bravo!
cs_Jielde
Messages postés226Date d'inscriptionmardi 17 octobre 2000StatutMembreDernière intervention 1 décembre 2010 22 juin 2006 à 01:55
Oui un combo/TextBox te permettra de faire des recherche intuitive dans la listbox.
ORTIPIC
Messages postés41Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention16 juillet 2007 21 juin 2006 à 18:06
j espere que la reponce de jielde satisfait couteau7 ?
un label semble une solution
ou un combo pour memoriser les interactions prog utilisateur
couteau7
Messages postés24Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention23 juin 20071 21 juin 2006 à 07:05
Oui j'y avais pensé mais bon je pense que je vais le faire sa va me faire moins de boullot comme ça
cs_Jielde
Messages postés226Date d'inscriptionmardi 17 octobre 2000StatutMembreDernière intervention 1 décembre 2010 20 juin 2006 à 22:22
Moi a ta place, et j'ai fait sa dans mon appli, j'ai ajouter des label en haut de chaque listbox, et kan je click sur un label sa trie la listbox de facon ascendent ou déscendant.
couteau7
Messages postés24Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention23 juin 20071 20 juin 2006 à 19:40
Bonjour, peut être que vous pourrez me sauver la vie sa va fair 2 semaine que je cherche dans tous les coins et la je suis limite a jeter mon ordinateur j'ai réaliser un petit programme qui n'a pas besoins d'un listview mais juste une listbox a 2 colonnes.
Pour les remplir il y a pas de problème meme pour acceder au information mais mon réel problème c'est comment ajouter dans l'en tete des colonne se que se represent dans la colonne 1 c'est "Articles" et dans la 2 emme c'est "Quantité" j'ai tout tester j'ai regarder dans tout les code que j'ai pu trouver il y a tout d'expliquer mais rien sur sa .
veuillez m'excuser de < m'incruster >
Encore merci
cs_Jielde
Messages postés226Date d'inscriptionmardi 17 octobre 2000StatutMembreDernière intervention 1 décembre 2010 26 avril 2006 à 19:30
Effectivement, les ListView sont mieux.
Mais je prog une appli pour me facilité la vie dans a mon boulot, et la société a bloquer pas mal de choses dans Win2k
Je ne peut donc pas installer de nouvelles OCX et j'ai du revenir sur les bon vieux ListBox.
J'avais déja trouvé l'idée de mettre bout a bout chaque listbox, avec des labels comme en-tête de colonne.
Par contre j'arrivais pas a faire en sorte que toutes les listbox scroll en même temps. Et les Timer sont une solution.
Si vous avez d'autre solutions, je suis preneur.
ORTIPIC
Messages postés41Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention16 juillet 2007 16 juil. 2005 à 12:01
Badge
cette source est tres mediocre.............
mais je n avais pas encore testé un listview ,et c est bien mieu
j ai trouvé cette source qui explique bien ,de qui ???? chépu
j ai apporté une modif (rnd......) pour bien voir le tri des colonnes
'---------------------vla------------------------
une form /un listview /ajout du composant micro...windows....comm.....control (version 6 sp6)
'------------------------------------------------
Private Sub Form_Load()
Dim i As Integer ' Compteur
Dim j As Integer ' Compteur d'objets ListSubItems
Dim sngWidth As Single
Dim si As ListSubItem
Dim li As ListItem
' Les objets ColumnHeaders et ListSubitems ne sont pas visibles
' sauf si la valeur lvwReport est affectée à la propriété View.
ListView1.View = lvwReport
' Calcule la largeur d'un objet ColumnHeader.
sngWidth = ListView1.Width / 5
' Crée cinq objets ColumnHeader.
For i = 1 To 5
ListView1.ColumnHeaders.Add Text:="Col " & i, Width:=sngWidth
Next i
' Crée vingt objets ListItem. Pour chacun d'entre eux, crée quatre
' objets ListSubItem. Définit la couleur rouge pour la propriété
' ForeColor de chaque objet.
For i = 1 To 20
Set li = ListView1.ListItems.Add(Text:="Élément " & i)
For j = 1 To 4
Set si = li.ListSubItems.Add(Text:="Sous-élément " & Int(Rnd * 100)) '' j & i &
si.ForeColor = vbRed
Next j
Next i
End Sub
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ColumnHeader)
' Quand vous cliquez sur un objet ColumnHeader, le contrôle
' ListView est trié selon les sous-éléments de cette colonne.
' Affecte à la propriété SortKey l'index de ColumnHeader - 1
ListView1.SortKey = ColumnHeader.Index - 1
' Affecte à la propriété Sorted la valeur True afin de trier la
' liste.
ListView1.Sorted = True
End Sub
Private Sub ListView1_ColumnClickdd(ByVal ColumnHeader As _
MSComctlLib.ColumnHeader)
' tri du ListView lors du clic sur l'entête de colonne
Dim strName As String
Dim dDate As Date
Dim lngItem As Long
Dim dTaille As Long
'Handle User click on column header
Select Case ColumnHeader.Text
Case "Fichier" 'User clicked sur l'entete d'une colonne texte
ListView1.Sorted = True 'Use default sorting to sort the
ListView1.SortKey = 0 'items in the list
ListView1.SortKey = ColumnHeader.Index - 1
ListView1.SortOrder = (ListView1.SortOrder - 1) * -1
Case "Date" 'User clicked sur l'entete d'une colonne date
ListView1.Sorted = False 'User clicked on the Date header
'Use our sort routine to sort
indice = 1 'by date
Asce = Not Asce
SendMessage ListView1.hWnd, _
LVM_SORTITEMS, _
ListView1.hWnd, _
AddressOf CompareDates
ListView1.Refresh
For lngItem = 0 To ListView1.ListItems.Count - 1
ListView_GetListItem lngItem, ListView1.hWnd, strName, dDate
Next
Case "Taille" 'User clicked sur l'entete d'une colonne numérique
ListView1.Sorted = False
'Use our sort routine to sort
indice = 2 'by date
Asce1 = Not Asce1
SendMessage ListView1.hWnd, _
LVM_SORTITEMS, _
ListView1.hWnd, _
AddressOf CompareValeurs
ListView1.Refresh
For lngItem = 0 To ListView1.ListItems.Count - 1
ListView_GetListItemN lngItem, ListView1.hWnd, strName, dTaille
Next
End Select
End Sub
cs_NoFutur
Messages postés171Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention 6 mai 20071 16 juil. 2005 à 10:56
Badge,
Si tu cherche à classer des infos dans une ListView va dans la sub "List1_ColumnClick" du controle ListView et copie ce bout de code : List1.SortKey = ColumnHeader.Index - 1 (List1 étant le nom d'occurence de ton ListView :-)
@plus
cs_BADGE
Messages postés2Date d'inscriptionmercredi 10 mars 2004StatutMembreDernière intervention15 juillet 2005 15 juil. 2005 à 20:46
Je trouve que le scroll "lag" trop à mon goût. Je dois avouer que j'ai déjà penser à cette solution, mais elle n'est pas esthétique. De plus, il n'est pas facilement transportable d'un projet à l'autre. Je préfère le ListView! Par contre, je n'ai pas trouvé comment changé l'ordre de tri en cliquant sur les en-têtes (headers) des colonnes.
cs_NoFutur
Messages postés171Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention 6 mai 20071 26 avril 2005 à 18:51
Salut,
Je vais répondre à la question de ScSami :
Pour ceux qui ne veulent pas s'encombrer d'un ocx supplémentaire et qui ne sont pas trop exigeant ma fois ça peut toujours convenir qui sait :-)
@++
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 25 avril 2005 à 20:44
Bon, j'ai pas téléchargé la source mais selon ce que j'ai compris tu utilises plusieurs ListBox !!!!
Je n'ai qu'une question :
N'est-ce pas aberrant lorsqu'il existe les ListView ??????
Bonne prog.
cs_PROGRAMMIX
Messages postés1133Date d'inscriptionmercredi 2 octobre 2002StatutMembreDernière intervention24 juillet 20112 25 avril 2005 à 16:51
J'y ai déposé une source synthétisant plusieurs possibilités d'utilisation de l'API sendmessage avec un listbox ou un combobox. Tu y découvriras la manière de réaliser du multi-colonnes à la manière d'Access.
20 nov. 2006 à 10:54
22 août 2006 à 11:51
bravo!
22 juin 2006 à 01:55
21 juin 2006 à 18:06
un label semble une solution
ou un combo pour memoriser les interactions prog utilisateur
21 juin 2006 à 07:05
20 juin 2006 à 22:22
20 juin 2006 à 19:40
Pour les remplir il y a pas de problème meme pour acceder au information mais mon réel problème c'est comment ajouter dans l'en tete des colonne se que se represent dans la colonne 1 c'est "Articles" et dans la 2 emme c'est "Quantité" j'ai tout tester j'ai regarder dans tout les code que j'ai pu trouver il y a tout d'expliquer mais rien sur sa .
veuillez m'excuser de < m'incruster >
Encore merci
26 avril 2006 à 19:30
Mais je prog une appli pour me facilité la vie dans a mon boulot, et la société a bloquer pas mal de choses dans Win2k
Je ne peut donc pas installer de nouvelles OCX et j'ai du revenir sur les bon vieux ListBox.
J'avais déja trouvé l'idée de mettre bout a bout chaque listbox, avec des labels comme en-tête de colonne.
Par contre j'arrivais pas a faire en sorte que toutes les listbox scroll en même temps. Et les Timer sont une solution.
Si vous avez d'autre solutions, je suis preneur.
16 juil. 2005 à 12:01
cette source est tres mediocre.............
mais je n avais pas encore testé un listview ,et c est bien mieu
j ai trouvé cette source qui explique bien ,de qui ???? chépu
j ai apporté une modif (rnd......) pour bien voir le tri des colonnes
'---------------------vla------------------------
une form /un listview /ajout du composant micro...windows....comm.....control (version 6 sp6)
'------------------------------------------------
Private Sub Form_Load()
Dim i As Integer ' Compteur
Dim j As Integer ' Compteur d'objets ListSubItems
Dim sngWidth As Single
Dim si As ListSubItem
Dim li As ListItem
' Les objets ColumnHeaders et ListSubitems ne sont pas visibles
' sauf si la valeur lvwReport est affectée à la propriété View.
ListView1.View = lvwReport
' Calcule la largeur d'un objet ColumnHeader.
sngWidth = ListView1.Width / 5
' Crée cinq objets ColumnHeader.
For i = 1 To 5
ListView1.ColumnHeaders.Add Text:="Col " & i, Width:=sngWidth
Next i
' Crée vingt objets ListItem. Pour chacun d'entre eux, crée quatre
' objets ListSubItem. Définit la couleur rouge pour la propriété
' ForeColor de chaque objet.
For i = 1 To 20
Set li = ListView1.ListItems.Add(Text:="Élément " & i)
For j = 1 To 4
Set si = li.ListSubItems.Add(Text:="Sous-élément " & Int(Rnd * 100)) '' j & i &
si.ForeColor = vbRed
Next j
Next i
End Sub
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ColumnHeader)
' Quand vous cliquez sur un objet ColumnHeader, le contrôle
' ListView est trié selon les sous-éléments de cette colonne.
' Affecte à la propriété SortKey l'index de ColumnHeader - 1
ListView1.SortKey = ColumnHeader.Index - 1
' Affecte à la propriété Sorted la valeur True afin de trier la
' liste.
ListView1.Sorted = True
End Sub
Private Sub ListView1_ColumnClickdd(ByVal ColumnHeader As _
MSComctlLib.ColumnHeader)
' tri du ListView lors du clic sur l'entête de colonne
Dim strName As String
Dim dDate As Date
Dim lngItem As Long
Dim dTaille As Long
'Handle User click on column header
Select Case ColumnHeader.Text
Case "Fichier" 'User clicked sur l'entete d'une colonne texte
ListView1.Sorted = True 'Use default sorting to sort the
ListView1.SortKey = 0 'items in the list
ListView1.SortKey = ColumnHeader.Index - 1
ListView1.SortOrder = (ListView1.SortOrder - 1) * -1
Case "Date" 'User clicked sur l'entete d'une colonne date
ListView1.Sorted = False 'User clicked on the Date header
'Use our sort routine to sort
indice = 1 'by date
Asce = Not Asce
SendMessage ListView1.hWnd, _
LVM_SORTITEMS, _
ListView1.hWnd, _
AddressOf CompareDates
ListView1.Refresh
For lngItem = 0 To ListView1.ListItems.Count - 1
ListView_GetListItem lngItem, ListView1.hWnd, strName, dDate
Next
Case "Taille" 'User clicked sur l'entete d'une colonne numérique
ListView1.Sorted = False
'Use our sort routine to sort
indice = 2 'by date
Asce1 = Not Asce1
SendMessage ListView1.hWnd, _
LVM_SORTITEMS, _
ListView1.hWnd, _
AddressOf CompareValeurs
ListView1.Refresh
For lngItem = 0 To ListView1.ListItems.Count - 1
ListView_GetListItemN lngItem, ListView1.hWnd, strName, dTaille
Next
End Select
End Sub
16 juil. 2005 à 10:56
Si tu cherche à classer des infos dans une ListView va dans la sub "List1_ColumnClick" du controle ListView et copie ce bout de code : List1.SortKey = ColumnHeader.Index - 1 (List1 étant le nom d'occurence de ton ListView :-)
@plus
15 juil. 2005 à 20:46
26 avril 2005 à 18:51
Je vais répondre à la question de ScSami :
Pour ceux qui ne veulent pas s'encombrer d'un ocx supplémentaire et qui ne sont pas trop exigeant ma fois ça peut toujours convenir qui sait :-)
@++
25 avril 2005 à 20:44
Je n'ai qu'une question :
N'est-ce pas aberrant lorsqu'il existe les ListView ??????
Bonne prog.
25 avril 2005 à 16:51
J'y ai déposé une source synthétisant plusieurs possibilités d'utilisation de l'API sendmessage avec un listbox ou un combobox. Tu y découvriras la manière de réaliser du multi-colonnes à la manière d'Access.
Bonne continuation.