Ordre des colonnes ListView

Résolu
crocejf2000 Messages postés 260 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 27 août 2008 - 11 oct. 2006 à 17:00
crocejf2000 Messages postés 260 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 27 août 2008 - 11 oct. 2006 à 17:42
Bonjour a vous tous,

J'ai actuellement dans mon application en VS 2003 Framework 1.1 une listview en mode détail.

Cette listview possede une propriétée AllowColumnReorder qui permet à l'utilisateur de 'bouger' ses colonnes comme il le souhaite, a la manière Outlook.

Le probleme est le suivant : Comment sauvegarder la position de ces colonnes et aussi de pouvoir les remettre en place lors d'une future ouverture de la Form ?

J'ai bien cherché sur les forum et sur google mais je ne trouve rien.
Merci pour votre aide,

A+,Hart

1 réponse

crocejf2000 Messages postés 260 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 27 août 2008 1
11 oct. 2006 à 17:42
Bon je me répond à moi meme, j'ai enfin trouvé la réponse donc au cas ou ca intéresserai quelqu'un (j'arrive a me prouver a moi meme que que je n'avais donc pas encore assez cherché !!) :

J'ai trouvé cette source sur un site Japonais (rien que ca) :
http://dobon.net/vb/dotnet/control/lvcolumnorder.html

The code :
Private

Declare
Auto
Function SendMessage
Lib "user32.dll" ( _

ByVal hWnd
As IntPtr,
ByVal msg
As
Integer, _

ByVal wParam
As
Integer,
ByVal lParam()
As
Integer)
As
Integer

Private
Const LVM_FIRST
As
Integer = &H1000

Private
Const LVM_GETCOLUMNORDERARRAY
As
Integer = LVM_FIRST + 59

Private
Const LVM_SETCOLUMNORDERARRAY
As
Integer = LVM_FIRST + 58
'----------------------------------------------
Private

Function GetColumnHeaderOrder(
ByVal lv
As ListView)
As
Integer()

Dim count
As
Integer = lv.Columns.Count

Dim order(count)
As
IntegerSendMessage(lv.Handle, LVM_GETCOLUMNORDERARRAY, count, order)

Return order

End
Function

'----------------------------------------------

Private
Sub SetColumnHeaderOrder(
ByVal lv
As ListView,
ByVal order()
As
Integer)SendMessage(lv.Handle, LVM_SETCOLUMNORDERARRAY, order.Length, order)

End
Sub
Pour 10 lignes de code...

Merci a vous,

A+,Hart
0
Rejoignez-nous