Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DBGRID AVEC ZONE DE RECHERCHE,TRI,FLECHES,MEMOS,MOLETTE,COULEURS


Information sur la source

Catégorie :Composants Classé sous : dbgrid, tedit, multiple, recherche, tri Niveau : Initié Date de création : 20/01/2006 Date de mise à jour : 02/02/2006 23:43:18 Vu / téléchargé: 9 942 / 11 302

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
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.
 

Conclusion

pour le tester sous delphi7: ouvrir le groupe de projets, voir, gestionnaire de projets, clic-droit sur le paquet perso.dpk, et installer
Il se trouvera dans la palette CodesSources
Activer le projet principal projet1 (il doit etre en gras), executer.

premier clic sur une entete -> couleur active
second clic -> la zone de recherche s'affiche (si on garde withSearchEdit à true)
troisieme clic sur la zone de l'entete laissée libre ->tri (ne fonctionne qu'avec ADO, il faudrait implementer un traitement 'universel' par défaut pour d'autres cas. En attendant, si on assigne le gestionnaire OnTitleClick c'est celui-ci qui s'execute exclusivement.Je ne me suis pas penché sur le tri de query avec jointures externes qui plantent

Gestionnaire d'evenement OnPersoEditKeyPress pour la saisie dans la zone de recherche et mise à disposition de méthodes pour acceder aux seules propriétés nécessaires du TEDit resté privé par "sécurité" (PersoGrille.getPersoEditText par ex.)

Clic droit sur la grille -> un popupmenu avec export CSV permet le lancement d'un thread (unité séparée d'apres conseil de delphi_prog à valkyrie (http://www.delphifr.com/forum.v2.aspx?id=313802)
lors de l'export pour ouverture sereine dans excel:remplacement des ; par des ., des tabulations par un espace et des retour chariot par |
Les memos sont exportés aussi (pas de test de limite de taille)

je me suis bien creusé la tête pour qu'il soit relativement fonctionnel et j'espère que vous me ferez part de vos remarques maintenant que j'ai tout bien expliqué.



 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

20 janvier 2006 19:35:30 :
ajout du fichier source dans un zip
02 février 2006 23:43:18 :
Modifications : *Ajout des fichiers du groupe de projet de test dans le zip *Création d'un évenement OnPersoEditKeyPress par détournement du message windows WMChar *ajout d'une fonctionnalité d'export en csv par un popupmenu dans un Thread séparé (d'apres http://bloon.developpez.com/articles/delphi/requetethread/)

Commentaires et avis

signaler à un administrateur
Commentaire de cherifnet2002 le 23/01/2006 19:27:08

Ton travail est tres interessent, bon continuation.

signaler à un administrateur
Commentaire de yannba le 02/02/2006 13:54:11

Tu pourrais mettre le DBPersoGrid.dfm, afin de mieux visualiser ton travail. Merci

signaler à un administrateur
Commentaire de pouicky le 04/02/2006 12:35:34

Le zip a été mis à jour, il contient
*le code du composant mis à jour (avec fonction d'export CSV et disponibilité d'un évènement)-> pas de .dfm, il faut installer le composant comme décrit dans l'explication

*un projet de test avec le .dfm de la fiche de test

*un fichier groupe de projet pour manipuler la source du composant et lancer le projet de test facilement. (ouvrir avec le bloc note et modifier le chemin des projets du groupe le cas échéant)

Bon test

signaler à un administrateur
Commentaire de israaberbak le 22/06/2008 17:16:35

Merci bien pour ce travail que je trouve excellent et repend a plusiers besoins sans verifier votre source pour le moment pour autre sggestions ou cretique sur le plan programmation  sauf  quelque remarques.
   -amelioration concerant le tri pour d'autre DB
   -maitrise de la taille des colonnes pour une saisie visible et lisible  
en vous envoi sur le net notre salutation

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

DBGrid Tri sur click [ par Enigme ] Question:Je clique sur le titre d'une colonne d'un dbgrid et je veux qu'il me tri les données de manières ascendante au premier click, descendante au Recherche dans un DBgrid [ par Servalito ] Voila j'aimerais savoir comment d^placer le curseur de selection d'un DBgrid sans cliquez dessus.Plus simple passer d'une ligne a une autre simplement Image dans une DBGrid [ par rolea ] Je cherche un moyen d'afficher une image dans la ligne de titre d'un DBGrid.Exemple, je fais une requête avec un tri, et je veux ensuite afficher une Recherche composant DBGRID pour DELPHI 2005 [ par richarddum ] Salut, Je recherche un composant DBGRID avec des fonctionnalités améliorées : checkbox, combobox... Il me semble qu'il existe &# Comment voir les enregistrements d'un Dbgrid dans un Tedit_ [ par sephorakaja ] Salut!Tiens il y a des personnes serieuses ici. Je veux dire par là qu'il y a des amoureux de Delphi ici :-) (c'est du moins encourageant!)Ma question DbGrid recherche [ par tigrou19 ] Bonjour,voilà je fait une recherche dans mon Db grid à l'aide du filtre en utilisant ce code procedure TForm1.Edit1Change(Sender: TObject); var Filtre Affichage Données dans DBGrid après recherche en BD [ par lugo ] Bonjour à tous,Dans une application utilisant une base de données paradox,j'ai une fiche d'exploitation utilisant une DBGrid affichant les champs dés Tri DBGrid [ par nonobiker ] Bonjour,J'affiche le contenu d'une table Access via SQL dans un DBgrid. Cependant, l'index n'est pas pris en compte. Je l'ai bien défini dans IndexNam Tri DBGrid avec Table Paradox 7 [ par CptPingu ] Suite a la mise en ligne d'un script de DelphiProg, qui permettait de trier une Table en fonction du titre cliquer, j'aimerais savoir si la meme chose Recherche d'entier dans un TEdit [ par hysteria74 ] Bonjour,je besoin d'un ptit conseil car j'ai créé un ptit programme qui va me permettre notamment de saisir des entiers dans un TEdit et j'a


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 2,418 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.