Bonjour,
se pourrait-il qu'un pro de PureBasic puisse me créer une listicongadget pour trier et rechercher des données.
EXEMPLE :
Clic sur l'entête de la colonne, on trie les données, et on affiche un striggadget à la place de l'entête de colonne pour rechercher une donnée dans la colonne sélectionnée.
cela fait des jours que je me creuse la tête mais je n'y arrive pas et je n'ai pas trouver l'exemple qui convient sur le forum .
se serait sympa de votre part
Merci d'avance.
Listicongadget
Il y a une library qui fait exactement ce dont tu as besoin :
http://people.freenet.de/gnozal/
http://people.freenet.de/gnozal/PureLVSORT.zip
Je l'utilise depuis longtemps, elle est très bien tu verras
http://people.freenet.de/gnozal/
http://people.freenet.de/gnozal/PureLVSORT.zip
Je l'utilise depuis longtemps, elle est très bien tu verras

Ce n'est peut-être pas vraiment ce que tu cherches mais cela devrait quand même te donner des pistes.
Ce n'est pas un exemple fonctionnel, mais deux méthodes d'utilisation, l'une pour rechercher un élément dans une listicon et l'autre pour modifier un élément dans la listicon. A adapter en fonction de ce que tu veux.
Ce n'est pas un exemple fonctionnel, mais deux méthodes d'utilisation, l'une pour rechercher un élément dans une listicon et l'autre pour modifier un élément dans la listicon. A adapter en fonction de ce que tu veux.
;Recherche d'un élément dans une ListIcon, dans n'importe quelle colonne.
;Tu colle cette procédure avant ta fenêtre en la modifiant en fonction de ton code
;l'item correspondant à la recherche sera sélectionné si trouvé.
Procedure FindStringList(searchString.s,NbColumns) ;Procédure de Chris
For Colonne = 0 To NbColumns -1
For Ligne = 0 To CountGadgetItems ( #ListIcon )
If GetGadgetItemText ( #ListIcon ,Ligne,Colonne) = searchString
SetGadgetItemState ( #ListIcon ,Ligne, #PB_ListIcon_Selected )
SendMessage_ ( GadgetID ( #ListIcon ), #LVM_ENSUREVISIBLE ,Ligne, #True )
Break 2
EndIf
Next
Next
If GetGadgetItemText ( #ListIcon ,Ligne,Colonne) <> searchString
MessageRequester ( "RECHERCHE INFRUCTUEUSE" , "ELEMENT INCONNU" + Chr (13)+ "Vous devriez recommencer avec un autre élément" , #MB_ICONEXCLAMATION )
EndIf
EndProcedure
;Dans ta boucle tu lance la recherche ainsi ( 7 correspond au nombre de colonnes de la listicon.)
Case #btn_SearchInListicon : FindStringList( GetGadgetText ( #String_search ),7) ; #String_search correspond à un StringGadget() de saisie de la recherche
;-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
;Pour sélectionner la colonne où tu veux modifier un élément tu utilises une ComboBox répertoriant les noms
;de tes colonnes de listicon. Il faut qu'ils soient identiques (sensibles à la casse)
;exemple : dans ta fenêtre....
ComboBoxGadget ( #SelectColonne , 0, 142, 130, 120) ;,#PB_ComboBox_Editable)
AddGadgetItem ( #SelectColonne , -1, "Nom" )
AddGadgetItem ( #SelectColonne , -1, "Prénom" )
AddGadgetItem ( #SelectColonne , -1, "Adresse" )
AddGadgetItem ( #SelectColonne , -1, "e-mail" )
AddGadgetItem ( #SelectColonne , -1, "Téléphone" )
AddGadgetItem ( #SelectColonne , -1, "Âge" )
AddGadgetItem ( #SelectColonne , -1, "Sexe" )
AddGadgetItem ( #SelectColonne , -1, "Planète" )
; dans ta boucle...
;Une fois que tu as sélectionné une colonne
;Un clic droit sur l'élément à modifier.
Case #ListIcon
Resultat$ = GetGadgetText ( #SelectColonne )
If Resultat$ = "Nom" : Colonne=0
ElseIf Resultat$= "Prénom" : Colonne=1
ElseIf Resultat$= "Adresse" : Colonne=2
ElseIf Resultat$= "e-mail" : Colonne=3
ElseIf Resultat$= "Téléphone" : Colonne=4
ElseIf Resultat$= "Âge" : Colonne=5
ElseIf Resultat$= "Sexe" : Colonne=6
ElseIf Resultat$= "Planète" : Colonne=7
EndIf
Pos = GetGadgetState ( #ListIcon )
If Pos >= 0
If EventType () = #PB_EventType_RightClick
Txt.s = InputRequester ( "MODIFICATION D'UN ELEMENT" , "Entrez vos modifications :" , GetGadgetItemText ( #ListIcon , Pos, Colonne))
SetGadgetItemText ( #ListIcon , Pos, Txt, Colonne)
EndIf
EndIf
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.