comment monter ou descendre un élément dans un controle ListBox
et je voudrais également insérer une ligne blanche dans un listbox,
entre deux éléments, comment procéder ?
merci,
dav
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
gedeon
bonjour,
et je voudrais également insérer une ligne blanche dans un listbox,
la methode qui te permet d'intégrer une ligne vide dans ton listbox est la même qu'utilisée pour intégrer une ligne non vide. monList.AddItem ""
comment monter ou descendre un élément dans un controle ListBox
Il ne me semble pas possible de modifier la position (listindex) d'un item sans réinitialiser la liste. Il est peut être possible de traiter la liste des items à insérer avant de les positionner dans ton listbox (a explorer)
tu peux aussi essayer d'utiliser le listView qui sera plus performant dans l'ensemble des propriétés et méthodes exposées.
"dav" a écrit dans le message de news: 41710cd0$0$26724$
comment monter ou descendre un élément dans un controle ListBox et je voudrais également insérer une ligne blanche dans un listbox, entre deux éléments, comment procéder ? merci, dav
bonjour,
et je voudrais également insérer une ligne blanche dans un listbox,
la methode qui te permet d'intégrer une ligne vide dans ton listbox est la
même qu'utilisée pour intégrer une ligne non vide.
monList.AddItem ""
comment monter ou descendre un élément dans un controle ListBox
Il ne me semble pas possible de modifier la position (listindex) d'un item
sans réinitialiser la liste.
Il est peut être possible de traiter la liste des items à insérer avant de
les positionner dans ton listbox (a explorer)
tu peux aussi essayer d'utiliser le listView qui sera plus performant dans
l'ensemble des propriétés et méthodes exposées.
"dav" <dav49400@wanadoo.fr> a écrit dans le message de news:
41710cd0$0$26724$8fcfb975@news.wanadoo.fr...
comment monter ou descendre un élément dans un controle ListBox
et je voudrais également insérer une ligne blanche dans un listbox, entre
deux éléments, comment procéder ?
merci,
dav
et je voudrais également insérer une ligne blanche dans un listbox,
la methode qui te permet d'intégrer une ligne vide dans ton listbox est la même qu'utilisée pour intégrer une ligne non vide. monList.AddItem ""
comment monter ou descendre un élément dans un controle ListBox
Il ne me semble pas possible de modifier la position (listindex) d'un item sans réinitialiser la liste. Il est peut être possible de traiter la liste des items à insérer avant de les positionner dans ton listbox (a explorer)
tu peux aussi essayer d'utiliser le listView qui sera plus performant dans l'ensemble des propriétés et méthodes exposées.
"dav" a écrit dans le message de news: 41710cd0$0$26724$
comment monter ou descendre un élément dans un controle ListBox et je voudrais également insérer une ligne blanche dans un listbox, entre deux éléments, comment procéder ? merci, dav
François Picalausa
Hello,
Tu peux essayer les procédures suivantes (non optimisées): Private Sub ItemUp(List As ListBox, Item As Long, Optional FullLoop As Boolean, Optional UpdateSelection As Boolean = True) Dim Text As String, Data As Long If Item > 0 Then 'Swap des textes Text = List.List(Item) List.List(Item) = List.List(Item - 1) List.List(Item - 1) = Text
'Swap des data Data = List.ItemData(Item) List.ItemData(Item) = List.ItemData(Item - 1) List.ItemData(Item - 1) = CLng(Data)
'Mise à jour de la sélection If UpdateSelection Then List.ListIndex = Item - 1 End If ElseIf (Item = 0) And FullLoop Then 'Copie de l'item 0 en fin de liste List.AddItem List.List(0) List.ItemData(List.NewIndex) = List.ItemData(0)
'Suppression de l'item 0 List.RemoveItem 0
'Mise à jour de la sélection If UpdateSelection Then List.ListIndex = List.ListCount - 1 End If End If End Sub
Private Sub ItemDown(List As ListBox, Item As Long, Optional FullLoop As Boolean, Optional UpdateSelection As Boolean = True) Dim Text As String, Data As Long If Item > -1 And Item < List.ListCount - 1 Then 'Swap des textes Text = List.List(Item) List.List(Item) = List.List(Item + 1) List.List(Item + 1) = Text
'Swap des data Data = List.ItemData(Item) List.ItemData(Item) = List.ItemData(Item + 1) List.ItemData(Item + 1) = CLng(Data)
'Mise à jour de la sélection If UpdateSelection Then List.ListIndex = Item + 1 End If ElseIf (Item = List.ListCount - 1) And FullLoop Then 'Copie de l'item de fin de liste en 0 List.AddItem List.List(List.ListCount - 1), 0
'Suppression de l'item de fin de liste List.ItemData(0) = List.ItemData(List.ListCount - 1) List.RemoveItem List.ListCount - 1
'Mise à jour de la sélection If UpdateSelection Then List.ListIndex = 0 End If End If End Sub
Pour insérer une ligne vide: ListBox.AddItem "", position
-- François Picalausa
"dav" a écrit dans le message de news: 41710cd0$0$26724$
comment monter ou descendre un élément dans un controle ListBox et je voudrais également insérer une ligne blanche dans un listbox, entre deux éléments, comment procéder ? merci, dav
Hello,
Tu peux essayer les procédures suivantes (non optimisées):
Private Sub ItemUp(List As ListBox, Item As Long, Optional FullLoop As
Boolean, Optional UpdateSelection As Boolean = True)
Dim Text As String, Data As Long
If Item > 0 Then
'Swap des textes
Text = List.List(Item)
List.List(Item) = List.List(Item - 1)
List.List(Item - 1) = Text
'Swap des data
Data = List.ItemData(Item)
List.ItemData(Item) = List.ItemData(Item - 1)
List.ItemData(Item - 1) = CLng(Data)
'Mise à jour de la sélection
If UpdateSelection Then
List.ListIndex = Item - 1
End If
ElseIf (Item = 0) And FullLoop Then
'Copie de l'item 0 en fin de liste
List.AddItem List.List(0)
List.ItemData(List.NewIndex) = List.ItemData(0)
'Suppression de l'item 0
List.RemoveItem 0
'Mise à jour de la sélection
If UpdateSelection Then
List.ListIndex = List.ListCount - 1
End If
End If
End Sub
Private Sub ItemDown(List As ListBox, Item As Long, Optional FullLoop As
Boolean, Optional UpdateSelection As Boolean = True)
Dim Text As String, Data As Long
If Item > -1 And Item < List.ListCount - 1 Then
'Swap des textes
Text = List.List(Item)
List.List(Item) = List.List(Item + 1)
List.List(Item + 1) = Text
'Swap des data
Data = List.ItemData(Item)
List.ItemData(Item) = List.ItemData(Item + 1)
List.ItemData(Item + 1) = CLng(Data)
'Mise à jour de la sélection
If UpdateSelection Then
List.ListIndex = Item + 1
End If
ElseIf (Item = List.ListCount - 1) And FullLoop Then
'Copie de l'item de fin de liste en 0
List.AddItem List.List(List.ListCount - 1), 0
'Suppression de l'item de fin de liste
List.ItemData(0) = List.ItemData(List.ListCount - 1)
List.RemoveItem List.ListCount - 1
'Mise à jour de la sélection
If UpdateSelection Then
List.ListIndex = 0
End If
End If
End Sub
Pour insérer une ligne vide:
ListBox.AddItem "", position
--
François Picalausa
"dav" <dav49400@wanadoo.fr> a écrit dans le message de news:
41710cd0$0$26724$8fcfb975@news.wanadoo.fr
comment monter ou descendre un élément dans un controle ListBox
et je voudrais également insérer une ligne blanche dans un listbox,
entre deux éléments, comment procéder ?
merci,
dav
Tu peux essayer les procédures suivantes (non optimisées): Private Sub ItemUp(List As ListBox, Item As Long, Optional FullLoop As Boolean, Optional UpdateSelection As Boolean = True) Dim Text As String, Data As Long If Item > 0 Then 'Swap des textes Text = List.List(Item) List.List(Item) = List.List(Item - 1) List.List(Item - 1) = Text
'Swap des data Data = List.ItemData(Item) List.ItemData(Item) = List.ItemData(Item - 1) List.ItemData(Item - 1) = CLng(Data)
'Mise à jour de la sélection If UpdateSelection Then List.ListIndex = Item - 1 End If ElseIf (Item = 0) And FullLoop Then 'Copie de l'item 0 en fin de liste List.AddItem List.List(0) List.ItemData(List.NewIndex) = List.ItemData(0)
'Suppression de l'item 0 List.RemoveItem 0
'Mise à jour de la sélection If UpdateSelection Then List.ListIndex = List.ListCount - 1 End If End If End Sub
Private Sub ItemDown(List As ListBox, Item As Long, Optional FullLoop As Boolean, Optional UpdateSelection As Boolean = True) Dim Text As String, Data As Long If Item > -1 And Item < List.ListCount - 1 Then 'Swap des textes Text = List.List(Item) List.List(Item) = List.List(Item + 1) List.List(Item + 1) = Text
'Swap des data Data = List.ItemData(Item) List.ItemData(Item) = List.ItemData(Item + 1) List.ItemData(Item + 1) = CLng(Data)
'Mise à jour de la sélection If UpdateSelection Then List.ListIndex = Item + 1 End If ElseIf (Item = List.ListCount - 1) And FullLoop Then 'Copie de l'item de fin de liste en 0 List.AddItem List.List(List.ListCount - 1), 0
'Suppression de l'item de fin de liste List.ItemData(0) = List.ItemData(List.ListCount - 1) List.RemoveItem List.ListCount - 1
'Mise à jour de la sélection If UpdateSelection Then List.ListIndex = 0 End If End If End Sub
Pour insérer une ligne vide: ListBox.AddItem "", position
-- François Picalausa
"dav" a écrit dans le message de news: 41710cd0$0$26724$
comment monter ou descendre un élément dans un controle ListBox et je voudrais également insérer une ligne blanche dans un listbox, entre deux éléments, comment procéder ? merci, dav
dav
François Picalausa a écrit :
Hello,
Tu peux essayer les procédures suivantes (non optimisées): Private Sub ItemUp(List As ListBox, Item As Long, Optional FullLoop As Boolean, Optional UpdateSelection As Boolean = True)
Pour insérer une ligne vide: ListBox.AddItem "", position
Impec !!!!! je fais : ItemUp List1, List1.ListIndex et ça marche....
merci infiniement à François. dav
François Picalausa a écrit :
Hello,
Tu peux essayer les procédures suivantes (non optimisées):
Private Sub ItemUp(List As ListBox, Item As Long, Optional FullLoop As
Boolean, Optional UpdateSelection As Boolean = True)
Pour insérer une ligne vide:
ListBox.AddItem "", position
Impec !!!!!
je fais : ItemUp List1, List1.ListIndex
et ça marche....
Tu peux essayer les procédures suivantes (non optimisées): Private Sub ItemUp(List As ListBox, Item As Long, Optional FullLoop As Boolean, Optional UpdateSelection As Boolean = True)
Pour insérer une ligne vide: ListBox.AddItem "", position
Impec !!!!! je fais : ItemUp List1, List1.ListIndex et ça marche....