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 !

TCYDBGRID (SANS INSTALLER OBLIGATOIREMENT)


Information sur la source

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é: 4 219 / 578

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

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

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

Commentaires et avis

signaler à un administrateur
Commentaire de MAURICIO le 22/04/2008 19:00:04

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+

signaler à un administrateur
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.

signaler à un administrateur
Commentaire de MAURICIO le 23/04/2008 11:04:25

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+

signaler à un administrateur
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

signaler à un administrateur
Commentaire de MAURICIO le 23/04/2008 11:30:50

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+

signaler à un administrateur
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é ^^

signaler à un administrateur
Commentaire de MAURICIO le 23/04/2008 11:57:13

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+

signaler à un administrateur
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++

signaler à un administrateur
Commentaire de MAURICIO le 23/04/2008 12:51:15

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+

signaler à un administrateur
Commentaire de MAURICIO le 23/04/2008 13:06:56

Voilà,

vous pouvez faire votre propre gestion de la roulette ^^

A+

signaler à un administrateur
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é

signaler à un administrateur
Commentaire de MAURICIO le 23/04/2008 18:01:59

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

C' est plus simple ^^

A+


signaler à un administrateur
Commentaire de cantador le 24/04/2008 17:04:38

Bonjour mauricio,

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

signaler à un administrateur
Commentaire de MAURICIO le 24/04/2008 17:46:56

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+

signaler à un administrateur
Commentaire de cantador le 24/04/2008 22:16:09

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 !

signaler à un administrateur
Commentaire de MAURICIO le 30/04/2008 17:21:01

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+

signaler à un administrateur
Commentaire de abdounbrahim le 28/05/2008 18:06:26

C'EST ARCHI NULL

signaler à un administrateur
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 !!

signaler à un administrateur
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"

signaler à un administrateur
Commentaire de MAURICIO le 22/07/2008 11:32:58

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+

signaler à un administrateur
Commentaire de MAURICIO le 02/04/2009 21:26:08

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 &# DBGrid Master Detail [ par cheggour ] Salut tous le monde je souhaite afficher les données deux tables Maitre Detail sur une DBGrid ou composant équivalent de tel sorte quand je clique su 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 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 composant clientsocket et serversocket introuvable [ par Francois F ] Bonjour à tous,J'ai passé il y a quelques mois de delphi 4 à delphi 7 version entreprise. Malheuresement, je ne trouve pas les composant Tclientsocket


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 : 0,437 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é.