Voici une évolution du PersoDBgrid Posté précédemment.
Ce composant dérivé de TDBGrid réunit un certain nombre de fonctionnalités pour lesquelles des questions sont souvent posées.
points implémentés par ce code:
*gestion des touches clavier par transmission de messages entre un DBGrid et un TEDIT
*programmation de DrawcolumnCell pour gerer l'option dgRowSelect ou non avec de multiples sous-cas pour eviter le rappel de fonctions graphiques (scintillement)
*regroupement de multiples fonctionnalités graphique trouvées par-ci par là et rassemblées ici
-molette
-fleche dans les entetes (http://www.delphifr.com/forum.v2.aspx?ID=326580)
-coloration des lignes (http://www.delphifr.com/code.aspx?id=31920)
*affichage et export csv des champs memos(http://delphi.about.com) mais pas de mise à jour base
*gestion des évènements graphiques assez complète mais difficile à suivre sur le code (des "flags" nombreux désolé).
------------------------------------------------------------------------------------------------
bugs et améliorations possibles non étudiés faute de temps ou de maitrise:
*gestion du tri et de la recherche sur des champs memo non faite (cela at'il toujours un sens selon la taille des données memos.
*la méthode de tri ne fonctionne qu'avec ado il faudrait une traitement alternatif pour des technologies moins magiques.
*pas de gestion des selections en cours(bookmarks).
*Dpuis la mise à jour, un evenement OnPersoEditKeyPress sur le message wmchar pour que chacun gére ses particularités lors de la saisie de chaines dans le sous composant TEdit.
*il existe un bug ou un truc que je ne comprend pas lors du onColumnMoved : deux colonnes de même type ne s'echangent pas, sauf leur entete.
Tout n'est pas testé, pas le temps. Mais je compte sur vos commentaires pour compléter ma TODO list.