Dbgrid avec tri sur clic, molette et couleurs

Description

Sorti du vb et du php je me suis mis il y a peu à delphi 7 que je trouve le meilleur de tous ceux que j'ai testés en programmation surtout grace à la richesse de la VCL et au controle qu'il donne sur le code.
J'ai rapidement voulu tenter la création de composants à réutiliser à n'importe quelle occasion. (réutilisables, donc)
Je me suis attaqué à l'amélioration du DBGrid pour un usage plus confortable dans des projets.
Cette amélioration du tdbgrid comprend:
-la colorisation des lignes,
-la gestion de la molette,
-le tri des colonnes sur le adodataset client par clic sur la grille (si on l'utilise avec un adoquery ou adodataset)
Ces trois aspects sont décrits séparéments sur différents sites (dont codes-sources pour les couleurs, developpez pour le tri, et de la doc perso pour la gestion du message windows de la molette) mais je n'avais pas encore vu les trois fonctionnalités réunies.
Je cherchais à faire une fonction de tri en evitant le réenvoi de requetes sql et en utilisant les methodes ado disponibles, et je n'en avais pas trouvé ici. En voici donc une. La source est simple, mais m'a demandé du temps en lecture et recherches.
Cette source me semble propre mais je me trompe peut-etre et toute critique est bonne pour progresser

Conclusion :


ce persodbgrid ne fait pas tout ce que je voudrais (il y a du boulot de documentation):
-pas de tri sur des jointures externes left (ou right) join si il n'a pas d'enregistrement sur une des tables de la jointure (index null peut-etre??)
-pas de recherche par zone de texte au dessus des colonnes (est-ce seulement possible dans un composant?)
-ce dbgrid a un nom qui ne convient pas à la postérité, normal.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.