OVH Cloud OVH Cloud

Sélectionner l'élément suivant dans une listview

6 réponses
Avatar
Olivier Mungo
Bonjour,

J'aimerai déterminer l'élément qui suit celui qui est sélectionner dans une
listview (en lvwReport et triée).

Ca ne marche pas avec la propriété index puisque la listview est triée et
donc l'ordre visuel n'est pas le même que l'ordre dans lequel les éléments
ont été ajoutés à la listview.

Merci pour votre aide,
Olivier Mungo

6 réponses

Avatar
Bismark Prods
Tu veux me dire que ca marche pas avec SelectedItem.Index +1 ?

"Olivier Mungo" a écrit dans le message de
news:bdt73l$e1t$
Bonjour,

J'aimerai déterminer l'élément qui suit celui qui est sélectionner dans


une
listview (en lvwReport et triée).

Ca ne marche pas avec la propriété index puisque la listview est triée et
donc l'ordre visuel n'est pas le même que l'ordre dans lequel les éléments
ont été ajoutés à la listview.

Merci pour votre aide,
Olivier Mungo




Avatar
François Picalausa
Bonjour/soir,

C'est ce qu'il veut dire, je pense...
Il veux sélectionner l'item suivant dans l'ordre d'ajout mais ses items sont
classés par ordre alphabétique.
Dans ce cas, on peut peut-être employer les tags de chaque item et
sélectionner en fonction du tag?

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


Bismark Prods wrote:
Tu veux me dire que ca marche pas avec SelectedItem.Index +1 ?

"Olivier Mungo" a écrit dans le message
de news:bdt73l$e1t$
Bonjour,

J'aimerai déterminer l'élément qui suit celui qui est sélectionner
dans une listview (en lvwReport et triée).

Ca ne marche pas avec la propriété index puisque la listview est
triée et donc l'ordre visuel n'est pas le même que l'ordre dans
lequel les éléments ont été ajoutés à la listview.

Merci pour votre aide,
Olivier Mungo




Avatar
Fly
SAlut,

on peut peut-être essayer avec itemdata(la_ligne), non?

Fly.(Francois)

François Picalausa a écrit dans le message :
#
Bonjour/soir,

C'est ce qu'il veut dire, je pense...
Il veux sélectionner l'item suivant dans l'ordre d'ajout mais ses items


sont
classés par ordre alphabétique.
Dans ce cas, on peut peut-être employer les tags de chaque item et
sélectionner en fonction du tag?

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


Bismark Prods wrote:
> Tu veux me dire que ca marche pas avec SelectedItem.Index +1 ?
>
> "Olivier Mungo" a écrit dans le message
> de news:bdt73l$e1t$
>> Bonjour,
>>
>> J'aimerai déterminer l'élément qui suit celui qui est sélectionner
>> dans une listview (en lvwReport et triée).
>>
>> Ca ne marche pas avec la propriété index puisque la listview est
>> triée et donc l'ordre visuel n'est pas le même que l'ordre dans
>> lequel les éléments ont été ajoutés à la listview.
>>
>> Merci pour votre aide,
>> Olivier Mungo




Avatar
François Picalausa
Bonjour/soir,

Avec une List*Box* oui.. mais pas avec une list*view* (voir l'objet)
ListView1.ListItems.Add , , "Item"
MsgBox ListView1.ItemData(0) ' <- Erreur de compilation:
'Méthode ou membre de données introuvable

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


Fly wrote:
SAlut,

on peut peut-être essayer avec itemdata(la_ligne), non?

Fly.(Francois)

François Picalausa a écrit dans le message :
#
Bonjour/soir,

C'est ce qu'il veut dire, je pense...
Il veux sélectionner l'item suivant dans l'ordre d'ajout mais ses
items sont classés par ordre alphabétique.
Dans ce cas, on peut peut-être employer les tags de chaque item et
sélectionner en fonction du tag?

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


Bismark Prods wrote:
Tu veux me dire que ca marche pas avec SelectedItem.Index +1 ?

"Olivier Mungo" a écrit dans le message
de news:bdt73l$e1t$
Bonjour,

J'aimerai déterminer l'élément qui suit celui qui est sélectionner
dans une listview (en lvwReport et triée).

Ca ne marche pas avec la propriété index puisque la listview est
triée et donc l'ordre visuel n'est pas le même que l'ordre dans
lequel les éléments ont été ajoutés à la listview.

Merci pour votre aide,
Olivier Mungo








Avatar
Fly
je crois que j'ai encore bcp à apprendre!

Merci de la rectification, j'en prend bonne note!

Fly.(francois)
François Picalausa a écrit dans le message :

Bonjour/soir,

Avec une List*Box* oui.. mais pas avec une list*view* (voir l'objet)
ListView1.ListItems.Add , , "Item"
MsgBox ListView1.ItemData(0) ' <- Erreur de compilation:
'Méthode ou membre de données introuvable

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


Fly wrote:
> SAlut,
>
> on peut peut-être essayer avec itemdata(la_ligne), non?
>
> Fly.(Francois)
>
> François Picalausa a écrit dans le message :
> #
>> Bonjour/soir,
>>
>> C'est ce qu'il veut dire, je pense...
>> Il veux sélectionner l'item suivant dans l'ordre d'ajout mais ses
>> items sont classés par ordre alphabétique.
>> Dans ce cas, on peut peut-être employer les tags de chaque item et
>> sélectionner en fonction du tag?
>>
>> --
>> François Picalausa (MVP VB)
>> FAQ VB : http://faq.vb.free.fr
>> MSDN : http://msdn.microsoft.com
>>
>>
>> Bismark Prods wrote:
>>> Tu veux me dire que ca marche pas avec SelectedItem.Index +1 ?
>>>
>>> "Olivier Mungo" a écrit dans le message
>>> de news:bdt73l$e1t$
>>>> Bonjour,
>>>>
>>>> J'aimerai déterminer l'élément qui suit celui qui est sélectionner
>>>> dans une listview (en lvwReport et triée).
>>>>
>>>> Ca ne marche pas avec la propriété index puisque la listview est
>>>> triée et donc l'ordre visuel n'est pas le même que l'ordre dans
>>>> lequel les éléments ont été ajoutés à la listview.
>>>>
>>>> Merci pour votre aide,
>>>> Olivier Mungo




Avatar
Olivier Mungo
Hello,

Merci pour vos réponses.

Je n'ai pas encore trouvé la solution, mais je pense être sur la bonne
voie...

En fait, la listview que j'utilise provient d'un exemple d'Explorateur
(comme le Windows Explorer) que j'ai téléchargé d'Internet.

Je me souviens avoir écrit une application qui effectuait ce que je
recherche. En y regardant de plus je me suis apperçu que cela fonctionnait
très bien avec la propriété Index+1. Même quand je trie les éléments de la
listview en cliquant sur l'entête d'une colonne, la propriété Index est mise
à jour pour refléter l'ordre visuel.

Malheureusement, et je ne sais pas encore pourquoi, avec l'exemple que j'ai
téléchargé, la propriété Index n'est pas mise à jour. J'arrive à une
situation où, par exemple, l'Index du premier élément porte le numéro 4, le
second le numéro 11, etc.

@+
Olivier

"Fly" a écrit dans le message de
news:bdu4f1$6oa$
je crois que j'ai encore bcp à apprendre!

Merci de la rectification, j'en prend bonne note!

Fly.(francois)
François Picalausa a écrit dans le message :

> Bonjour/soir,
>
> Avec une List*Box* oui.. mais pas avec une list*view* (voir l'objet)
> ListView1.ListItems.Add , , "Item"
> MsgBox ListView1.ItemData(0) ' <- Erreur de compilation:
> 'Méthode ou membre de données introuvable
>
> --
> François Picalausa (MVP VB)
> FAQ VB : http://faq.vb.free.fr
> MSDN : http://msdn.microsoft.com
>
>
> Fly wrote:
> > SAlut,
> >
> > on peut peut-être essayer avec itemdata(la_ligne), non?
> >
> > Fly.(Francois)
> >
> > François Picalausa a écrit dans le message :
> > #
> >> Bonjour/soir,
> >>
> >> C'est ce qu'il veut dire, je pense...
> >> Il veux sélectionner l'item suivant dans l'ordre d'ajout mais ses
> >> items sont classés par ordre alphabétique.
> >> Dans ce cas, on peut peut-être employer les tags de chaque item et
> >> sélectionner en fonction du tag?
> >>
> >> --
> >> François Picalausa (MVP VB)
> >> FAQ VB : http://faq.vb.free.fr
> >> MSDN : http://msdn.microsoft.com
> >>
> >>
> >> Bismark Prods wrote:
> >>> Tu veux me dire que ca marche pas avec SelectedItem.Index +1 ?
> >>>
> >>> "Olivier Mungo" a écrit dans le message
> >>> de news:bdt73l$e1t$
> >>>> Bonjour,
> >>>>
> >>>> J'aimerai déterminer l'élément qui suit celui qui est sélectionner
> >>>> dans une listview (en lvwReport et triée).
> >>>>
> >>>> Ca ne marche pas avec la propriété index puisque la listview est
> >>>> triée et donc l'ordre visuel n'est pas le même que l'ordre dans
> >>>> lequel les éléments ont été ajoutés à la listview.
> >>>>
> >>>> Merci pour votre aide,
> >>>> Olivier Mungo
>
>