begin process at 2012 02 05 01:05:54
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Composants

 > TCYDBGRID (SANS INSTALLER OBLIGATOIREMENT)

TCYDBGRID (SANS INSTALLER OBLIGATOIREMENT)


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Composants Classé sous :DBGrid, TcyDBGrid, bookmark, composant, roulette Niveau :Expert Date de création :22/04/2008 Date de mise à jour :22/07/2008 11:26:08 Vu / téléchargé :6 470 / 884

Auteur : MAURICIO

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (21)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Une TDBGrid avec :
- des propriétés cachées révélées
- Événement OnSelectCell
- Gestion de la roulette pour naviguer, selectionner plusieurs lignes (avec la touche shift enfoncée), faire comme la TDBGrid ou encore ne rien faire ^^
- Multiselection de ligne en 2 click (touche shift pour le second click)
- scrollbars visibles ou non
- 1 CheckBox pour chaque ligne
- Laisser faire votre propre gestion de la roulette
- Bloquage possible de Ctrl+Del, Ctrl+Ins et ajout d' un nouveau enregistrement


 Conclusion

Ma unit fait le overload du TDBGrid, donc pas besoin d' installer le compo.

Si vous l' installez (installez le pack ^^), vous pourrez voir les nouvelles propriétés dans l' object inspector.

Le pack se trouve encore et toujours ici:
http://www.delphifr.com/codes/COMPOSANTS-TCY- COMPONENT-PACK_30296.aspx

A+

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

23 avril 2008 13:05:47 :
Laisser faire votre propre gestion de la roulette
23 avril 2008 17:59:24 :
Amélioration de la gestion de la roulette ^^
30 avril 2008 17:13:43 :
Diverses améliorations ...
22 juillet 2008 11:26:10 :
Les propriétés Col, LeftCol, Row, VisibleColCount et VisibleRowCount sont en déclaration publique au lieu de "published". Ajout des propriétés AllowDeleteRecord, AllowInsertRecord et AllowAppendRecord

 Sources du même auteur

Source avec Zip Source avec une capture PROJETS DÉMO DU PACK DE COMPOSANTS CINDY V4.30
Source avec Zip Source avec une capture PACKAGE DE COMPOSANTS CINDY V4.41
Source avec Zip Source avec une capture EVALUATION D' EXPRESSIONS MATHÉMATIQUE (MÉTHODE RPN)
Source avec Zip Source avec une capture DEMO DE LA TCYDBADVGRID (DBGRID AVANCÉE, EXE INCLUS)
ACTUALISER UNE TABLE SANS QUE LA DBGRID MODIFIE SON VISUEL E...

 Sources de la même categorie

Source avec Zip MOVCONTROL par abmed1963
Source avec Zip Source avec une capture PACKAGE DE COMPOSANTS CINDY V4.41 par MAURICIO
Source avec Zip Source avec une capture DBNAVIGATORPLUS par pascal1541
Source avec Zip Source avec une capture EVALUATION D' EXPRESSIONS MATHÉMATIQUE (MÉTHODE RPN) par MAURICIO
Source avec Zip Source avec une capture COMPOSANT TQPROGRESSBAR UNE BARRE DE PROGRESSION... par yanb

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture EXEMPLE UTILISATION DBGRID par HAFTARIFOUAD
Source avec Zip Source avec une capture PROJETS DÉMO DU PACK DE COMPOSANTS CINDY V4.30 par MAURICIO
Source avec Zip Source avec une capture COMPOSANT TQPROGRESSBAR UNE BARRE DE PROGRESSION... par yanb
ACTUALISER UNE TABLE SANS QUE LA DBGRID MODIFIE SON VISUEL E... par MAURICIO
Source avec Zip Source avec une capture DBGRID AVEC TRI SUR CLIC, MOLETTE ET COULEURS par pouicky

Commentaires et avis

Commentaire de MAURICIO le 22/04/2008 19:00:04 administrateur CS

Je donne gratuitement ce compo malgrè les heures passées dessus car d' abord je me suis basé sur certains bout de code trouvé sur CS, puis gràce à l' excelent tuto de delphiProg sur le Overload component et enfin, gràce à Cirec qui m' a donné un bon coup de main.

Je le donne aussi car CS c' est avant tout le partage de connaissance et je pense que ce compo répond à une certaine demande générale.

Pour les plus curieux, j' ai fait ma propre class de BookmarList, elle me permet de gérer les checkBoxes.

A+

Commentaire de f0xi le 23/04/2008 00:57:58 administrateur CS

Ma unit
Overload component

tu t'exprime de façon bizarre :) t'as craké ou c'est la fatigue ?
hihihi

en tout cas, merci pour cette contribution,
j'y jetterais un oeuil.

Commentaire de MAURICIO le 23/04/2008 11:04:25 administrateur CS

Salut Foxi,

ce compo surcharge le TDBGrid (overload en Anglais).
Pour comprendre à quoi ça consiste, jetez un oeil sur le tuto de DelphiProg:
http://www.delphifr.com/codes/MODIFIEZ-COMPOSANTS-EXISTANTS-SANS-MODIFIER-VOS-FICHES-EXISTANTES_28866.aspx

A+

Commentaire de cirec le 23/04/2008 11:14:22 administrateur CS

ha ha ha

mais non F0xi il est juste en avance sur son temps ^^
il parle le franglais. N'empêche, mieux ça que le SMS ^^

Bon .. un peut de sérieux .. (j'en connais un qui attend cela depuis longtemps ^^)

J'ai pas encore tout regarder à fond mais comme j'ai eut la chance de suivre l'évolution de ce composant j'ai encore une longueur sur les autres ^^

Je le trouve génial (une très bonne idée de composant) mais j'ai toute fois soulevé un petit problème ^^
Si tu utilise les events OnMouseWheelUp/Down depuis l'inspecteur d'objet ton code dans (cyDBGrid) n'est plus exécuté. A mon  avis il serait préférable de passer par le WndProc pour éviter le court circuit.

"gràce à Cirec qui m' a donné un bon coup de main"
C'est gentil mais même si je t'ai enlevé une épine du pied je n'ai pas fait tant que ça ... d'ailleurs si tu avais mis les crédits dans le code on aurait pu se rendre compte de la masse de travail que tu as fait ... tout seul comparer à ma modeste contribution ^^

Pour l'instant je n'ai rien d'autre à dire sauf que je réserve ma note pour après la correction .... ça sent le 10/10
Bravo

Commentaire de MAURICIO le 23/04/2008 11:30:50 administrateur CS

OnMouseWheelUp/Down de TcyDBGRid (ou d' un TDBGrid) n' apparait pas dans  l'inspecteur d'objet chez moi (Delphi7).
Donc, j' ai rien prévu ^^

Le problème est situé ici:
constructor TcyDBGrid.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);

  FCheckedList := TcyBookmarkList.Create(self);
  FCheckedList.OnChange := CheckBoxesChanged;
  FMouseWheelMode := mwRowSelect;
  FOldVerticalScrollBarState := true;
  FOldHorizontalScrollBarState := true;
  FHorizontalScrollBar := true;
  FVerticalScrollBar := true;
  FCheckBoxes := TcyCheckBoxes.Create(self);
  FCheckBoxes.OnChange := CheckBoxesChanged;

  // Mouse wheel handling :
  OnMouseWheelDown := MouseWheelDown;
  OnMouseWheelUp := MouseWheelUp;
end;

Ce qu' il faut c' est ne pas attibué OnMouseWheelDown/OnMouseWheelUp mais récupérer le message.
Je n' aurai pas le temps aujourd' hui de le faire, par contre si quelqu' un me donne ce bout de code par message privé cela me fera gagner du temps.

Par contre, il existe une propriété MouseWheelMode qui peut prendre les valeurs suivantes:
- mwDoNothing: ne fait rien
- mwOriginal: se comporte comme un TDBGrid normal
- mwNavigate: permet d' avancer ou reculer dans les enregistrements du DataSet.
- mwRowSelect: comme mwNavigate, mais permet en plus, avec la touche Shift, de seleccionner plusieurs enregistrements lorsque dgMultiSelect dans la propriété Options.

A+

Commentaire de cirec le 23/04/2008 11:45:43 administrateur CS

je veux bien te l'envoyer mais je ne vois pas bien de quelle partie tu parles et pour tout dire je n'en comprend pas bien l'intérêt non plus puisque tu l'as ici ... remarque je suis peut être pas encore bien réveillé ^^

Commentaire de MAURICIO le 23/04/2008 11:57:13 administrateur CS

Salut,

il me semble qu' il faut juste surcharger les événements suivants hérités du TControl:

function TControl.DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean;
begin
  Result := False;
  if Assigned(FOnMouseWheelDown) then
    FOnMouseWheelDown(Self, Shift, MousePos, Result);
end;

function TControl.DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean;
begin
  Result := False;
  if Assigned(FOnMouseWheelUp) then
    FOnMouseWheelUp(Self, Shift, MousePos, Result);
end;

Reste plus qu' à chercher le code à y mettre dedans ^^

A+

Commentaire de Francky23012301 le 23/04/2008 11:57:53 10/10

Salut,

Je n'ai pas de quoi le tester ici (Version perso de Delphi) mais j'ai regardé le code. Vu le travail conséquent j'ai pas eu le temps de tout éplucher mais vu le travail et la qualité évident de ce travail, ca mérite un 10/10

A++

Commentaire de MAURICIO le 23/04/2008 12:51:15 administrateur CS

Merci Francky,

Chez moi OnMouseWheelDown et OnMouseWheelUp sont en protected du compo TControl, donc ils ne sont pas accessibles à moins d' hériter.

Je vais les rendre visibles pour pouvoir utiliser ces événements et personnaliser la gestion de la roulette dans vos programmes.

A+

Commentaire de MAURICIO le 23/04/2008 13:06:56 administrateur CS

Voilà,

vous pouvez faire votre propre gestion de la roulette ^^

A+

Commentaire de cirec le 23/04/2008 13:32:11 administrateur CS 10/10

Bravo,
cette fois c'est bon ^^
10/10 bien mérité

Commentaire de MAURICIO le 23/04/2008 18:01:59 administrateur CS

J' ai intégré le code de :
- cyMouseDown dans celui de DoMouseDown
- cyMouseUp dans celui de DoMouseUp

C' est plus simple ^^

A+


Commentaire de cantador le 24/04/2008 17:04:38 administrateur CS

Bonjour mauricio,

bravo pour ce gros boulot
et très instructif !
même si je ne l'utilise pas (because TcxGrid)..
12/10

Commentaire de MAURICIO le 24/04/2008 17:46:56 administrateur CS

Salut Cantador,
merci pour le 12/10, mais t' aurais pu mettre un peu plus!

Par contre, le TcxGrid semble coûter la peau des fesses (350 ¤ d' après une réponse sur le forum) ^^
Alors, oui, mes compos sont gratuits, oui, il y a toute l' info pour faire une donation PayPal, mais non, je n' ai encore pas reçut un centime :(

A+

Commentaire de cantador le 24/04/2008 22:16:09 administrateur CS

Oui, il vaut même plus que ça avec les options..
mais c'est vraiment le pied total.
Cela dit, la plupart de mes outils sont chers mais rien ne sort de ma poche heureusement..
Ce qui fait aussi que je fais peu d'intervention sur le site.
Si tu veux te faire un peu de sous, vend plutôt des projets clés en main (avec maintenance)
Mais il faut faire attention car on est vite débordés..
L'expérience montre que la donation PayPal ne nourrit pas son homme..
Et puis tu n'es pas bon vendeur !

Commentaire de MAURICIO le 30/04/2008 17:21:01 administrateur CS

Salut à tous!

juste un petit mot sur la mise à jour du compo:
- Ajout de la sous-propriété Margin dans la propriété CheckBoxes. Celle-ci vous permet de configurer l' espace en pixels entre le bord de la cellule et la CheckBox.
- Améliorations sur la procédure DrawColumnCell.
- Ajout de la fonction DefaultDrawCheckBox()
- Ajout de la propriété deafaultDrawingCheckBox et de l' événement OnDrawCheckBox pour vous permettre de personnaliser la checkBox (voir démo).
- Ajout de la propriété OnCheckBoxClick appelée lorsque l' utilisateur clique sur la checkbox d' un enregistrement.

Voilà, j' ai fait tout ce que j' avais en tête pour ce compo ^^

A+

Commentaire de abdounbrahim le 28/05/2008 18:06:26

C'EST ARCHI NULL

Commentaire de PCPT le 28/05/2008 19:45:40 administrateur CS

T'ES ARCHI CONSTRUCTIF

t'en as d'autres comme çà?

je suis certain que MAURICIO se fera un plaisir de répondre à tes questions si en as.
par contre si tu as ici déroulé la totalité de tes compétences, n'hésite pas à répandre tes belles paroles ailleurs que sur CS

MERCI !!

Commentaire de cirec le 29/05/2008 13:06:02 administrateur CS

T'as pas l'impression de t'être perdu ?

Souvent les gens préfèrent dire que c'est nul alors qu'en fait ils ne comprennent pas et sont incapable de l'exprimer.

Je te le dit dans ton langage:
"T'ES ARCHI NULL"

Commentaire de MAURICIO le 22/07/2008 11:32:58 administrateur CS

Salut à tous,

les propriétés Col, LeftCol, Row, VisibleColCount et VisibleRowCount sont en déclaration "public" au lieu de "published" car il y avait une erreur en chargeant le projet si on avait pas dgIndicator dans la propriété options.

J' ai aussi ajouté les propriétés AllowDeleteRecord, AllowInsertRecord et AllowAppendRecord qui permettent d' éviter d' éliminer ou d' ajouter un enregistrement avec les touches de clavier.

Et moi qui pensait que j' en avait fini avec ce compo ^^

Je suis en train de travailler sur une nouvelle DBGrid qui va hériter de celle-ci, je vous laisse dans le mystère pour l' instant mais ça risque de plaire à pas mal de monde...

A+

Commentaire de MAURICIO le 02/04/2009 21:26:08 administrateur CS

Bonjour À tous !!!

Sortie de TcyComponents pack 2.0:
http://www.delphifr.com/code.aspx?ID=49709

Ma TcyDBGrid corrige l' erreur existante dans la TDBgrid sur Delphi 2009!

A+

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Composant DBGrid [ par squaly ] Hello à tous,je recherche un composant de type DBGrid capable d'afficher dans ses cells des objets de type check box ect...MerciSqualy 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 &# relation du Composant DBGrid et le nombre de ligne... [ par lilo415 ] Bonjour,J'aurais voulu avoir un renseignements. je viens de créer un DBGrid et je voudrais limité la saisie à une seule ligne. Est-ce possible??Sinon Intégrer d'autre composant dans un dbgrid!! [ par anil16 ] Bonjour, je veux associer aux cellules d'une colonne d'un dbgride le bouton parcourir (le bouton avec trois points), en cliquant sur ce bouton là une GESTION COMPOSANT DBGRID [ par adjena ] Bonjour,Quelqu'n pourrait-il m'aider a gerer un composant dbgrid pour faire des controle sur les cellule et ne pas pouvoir sortir de la cellule tant q Proxy et webbrowser [ par manu00 ] Bonjour,Je souhaite faire passer les connections effectuées dans mon appli dans un composant webbrowser via un proxy.J'ai bien reussi a utiliser un pr DBGrid, positionnement, evènement et messages [ par informatixo ] Bonjour,J'ai un problème pour arriver à détecter un évènement.En fait, il y a un évènement "OnColumnResize" pour la DBGrid. Donc quand je redimensionn Manque le composant TTimer [ par roeugene ] Dans l'application que j'ai développé en Delphi 7, j'utilisé le composant TTimer. Maintenant quand j'ouvre l'application sous Delphi 7 sur un autr ajouté une image 3ds dans un composant GLScene [ par NeoFacto ] Salut !!Voilà, nous aimerions bien savoir comment ajouté une image 3ds dans un composant GLScene, et si possible avec Delphi 5 !!!Est-ce que quelqu'un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,778 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales