Salut
J'ai cr�� un composant TDBGrid avec 6 colonnes et d�fini ses propri�t�s:
Comment je peut r�utiliser cette TDBGrid dans une autre fiche?
-->Je suis oblig� de recr�er le composant avec les m�mes propri�t�s?
Salut
J'ai cr�� un composant TDBGrid avec 6 colonnes et d�fini ses propri�t�s:
Comment je peut r�utiliser cette TDBGrid dans une autre fiche?
-->Je suis oblig� de recr�er le composant avec les m�mes propri�t�s?
Pourtant la question est pas tr�s compliqu� SVP:
Peut on importer ses propres composants d�j� configur�s comme il faut?
Je ne pense pas que cela soir faisable.
Quand tu modifies les propri�t�s d'un composant, ces modifications sont propres � l'instanciation de ce composant donc limit�es � la fiche de d�claration.
Si tu essayais de cr�er un nouveau composant d�riv� de TDBGrid qui correspondrait � ton composant initialis� cela pourrait marcher mais je n'en suis pas s�r du tout.
Nb: comment as-tu fait pour initialiser ton TDBGrid avec 6 colonnes alors que le contenu d'un TDBGrid d�pends d'une source de donn�es et donc d'une requete ou �quivalent???
Bonjour,
J'ai fait un essai en dynamique, en me basant sur un DBGrid cr�e manuellement et d�fini avec 2 colonnes dans l'inspecteur d'objet.
Puis, je teste ceci :
Dans ce cas, les propri�t�s des colonnes du nouveau DBGrid sont identiques a celles du DBGrid 'de base'.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6 Form2->Show(); TDBGrid *nGrille = new TDBGrid(Form2); nGrille->Parent = Form2; nGrille->DataSource = Form1->DataSource2; nGrille->Columns->Assign(Form1->DBGrid2->Columns);
Mais c'est juste un petit test, on peut etoffer tout cela...
@ +![]()
Merci mais je comprend pas tout: (je r�sume)
Form2, c'est le form o� tu veut ins�rer ta nouvelle TDBGrid(nGrille) � partir d'une ancienne TDBGrid(DBGrid2) se trouvant dans Form1.
DataSource2, c'est la database de Form1.
DataSource, c'est la database de Form2.
NB:J'ai mis six colonne mais elles sont fictives...
Mon but est effectivement d'attacher les champs d'une table � mes collonne mais dans la liste d�roulante de l'objet collonne , je n'ai pas les champs de ma table.(normal)
Je suppose qu'il faut un composant de type TTable mais je ne sais pas relier mon composant Ttable � ma table "Examen"...
Salut,
Dans mon petit test, j'ai 2 Forms - Form1 et Form2 - et sur la premi�re j'ai ins�r� le DBGrid1 que je 'configur�' manuellement, avec l'inspecteur d'objet quoi, en lui indiquant le DataSource a utiliser pour afficher les donn�es.
Dans mon cas il faut effectivment un TTable ou un TQuery, les 2 pouvant etre reli�s au DBGrid grace au TDataSource.
Si j'ai indiqu� au nouveau DBGrid cr�e dynamiquement le DataSource du premier DBGrid, c'etait juste pour v�rifier que les donn�es affich�es correspondaient bien a celles attendues et donc que je ne t'indiquais pas la m�thodepour rien et qu'elle fonctionnait bien.
Code : S�lectionner tout - Visualiser dans une fen�tre � part nGrille->Columns->Assign
Maintenant, on peut tres bien imaginer je pense que tu ne renseignes que les propri�t�s 'Alignment', 'Font', 'Color' etc de chacune des Columns du DBGrid de base sans parler de Datasource(pour le DBGrid) et de FieldName(pour les Columns) et que tu renseignes ces �l�ments au moment de la cr�ation du nouveau DBGrid au cas par cas.
Pour TTable, il te faut renseigner :
DatabaseName
TableName
TableType, �ventuellement
et passer Active a true.
Dans DatabaseName, tu vois les diff�rents 'r�pertoire' ou peuvent se situer tes tables, il y a ceux 'par d�faut' (BCDemos, DefaultDD, etc..) et ceux que tu peut avoir cr�e en g�rant les alias dans le module de base de donn�es.
La propri�t� DataSource doit repr�senter un TDataSource qui lui sera reli� a ta TTable (propri�t� : DataSet).
Puis pour le DBGrid 'de base', dans la propri�t� Columns tu as acces normalement a tes 6 colonnes et pour chacune d'entre elles tu peut d�finir la propri�t� FieldName : la tu devrais avoir les champs de ta table.
En esp�rant te r�pondre au mieux,
@ +![]()
Tout d'abord: MERCI DU FOND DU COEUR![]()
![]()
![]()
J'ai pas encore test� le Columns->Assign parce que j'ai pas trop saisi o� �crire tout �� ( dans le constructeur de mon nouveau form p-�?) et je ne compte pas me servir d'un DBGrid allou� dynamiquement mais "d�pos�" comme n'impore quel autr composant sur mon nouveau form.
�� marchera quand meme?j'�cris �� o� alors?
Ensuite je souhaite renseigner les prop de ma nouvelle DBGrid en utilisant une DBGrid �xistante sur un autr form avec ta ligne de code.
Sinon, j'ai bien les champ de ma table "Examen" dans la liste d�roulante des colonnes![]()
@+
Ah bien, si ce n'est pas en dynamique alors il te suffit de d�finir les propri�t�s de ton DBGrid et de ces Columns comme tu le souhaite puis, de faire un click droit sur l'objet, choisir Edition -> Copier...et de coller sur l'autre Form.
Etc,etc,etc,...
Mais ais-je bien compris ce que tu cherches ?....![]()
Pur�e , la vache ...(nom d'oiseau)![]()
�� marche
Je m'�tonne encore.J'avais essayer le copier coller pourtant mais bon...![]()
Je vais essayer de me d�brouiller ...
ps:jusqu'�ux prochains blocages![]()
�� � l'air de matcher.
@+ et merci
Partager