IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

réutilisation de composant


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 24
    Points
    24
    Par défaut réutilisation de composant
    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?

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    Pourtant la question est pas très compliqué SVP:

    Peut on importer ses propres composants déjà configurés comme il faut?

  3. #3
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par dé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???
    + + +

  4. #4
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    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 :
    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);
    Dans ce cas, les propriétés des colonnes du nouveau DBGrid sont identiques a celles du DBGrid 'de base'.
    Mais c'est juste un petit test, on peut etoffer tout cela...
    @ +
    Aux persévérants aucune route n'est interdite.
    Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
    Current Status
    Avec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
    Faîtes quelque chose de bien avec vos petits sous: Enfants du Mekong

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    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"...

  6. #6
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    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éthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     nGrille->Columns->Assign
    pour rien et qu'elle fonctionnait bien.
    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,
    @ +
    Aux persévérants aucune route n'est interdite.
    Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
    Current Status
    Avec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
    Faîtes quelque chose de bien avec vos petits sous: Enfants du Mekong

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    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


    @+

  8. #8
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    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 ?....
    Aux persévérants aucune route n'est interdite.
    Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
    Current Status
    Avec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
    Faîtes quelque chose de bien avec vos petits sous: Enfants du Mekong

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réutiliser un composant existant
    Par carole.dupont dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 19/03/2010, 16h56
  2. Réponses: 3
    Dernier message: 18/02/2010, 10h07
  3. Réponses: 9
    Dernier message: 08/12/2009, 18h26
  4. Réutilisation de groupe de composants VJSF
    Par maya35 dans le forum NetBeans
    Réponses: 2
    Dernier message: 19/02/2008, 13h04
  5. Création d'un composant réutilisable
    Par Cycgnos dans le forum ASP.NET
    Réponses: 5
    Dernier message: 13/12/2007, 17h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo