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

 Delphi Discussion :

Ajout d'une colonne avec DBADvGrid


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Points : 61
    Points
    61
    Par défaut Ajout d'une colonne avec DBADvGrid
    Bonjour,
    Pour mon problème je souhait faire une Grid avec 2 colonnes.
    La colonne de gauche est récupéré dans ma base de donné sans soucis, et ma colonne de droite doit me servir a écrire des données que j'insérerais par la suite dans la base de donné.
    Mon soucis vient donc de cette colonne de droite puisqu'elle n'est pas dans la base de donnée. J'ai donc ajouter cette colonne manuellement mais je n'arrive pas à lui donner un titre de colonne ni a écrire à l'intérieur de cette colonne.
    Comment faire ?
    Et ou est ce que je pourrai trouver des documentations sur les composant TMS ?
    Après de nombreuses recherche je n'ai toujours rien trouver.
    Merci

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 449
    Points : 24 856
    Points
    24 856
    Par défaut
    Ah TMS, c'est tellement pas standard mais ce qui tu souhaite faire ne l'est pas plus ... essaye d'affecté un titre au TField via DisplayLabel
    Sinon voir dans ColumnHeader ...

    dans ta requête, essaye un truc genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT id_table, colonne1, "" as colonne2 FROM table ...
    Et il faut qu'il y ait dans ton objet DataSet une propriété dans l'esprit de LocalUpdate des compostant CoreLab DAC ... ou dans l'esprit du ClientDataSet (que tu devrais étudier dans l'exemple du CD "C:\Program Files\Borland\Delphi7\Demos\Db\SQLClientDataset") ...

    par contre, pour l'écriture, il faut que ta colonne existe quelque part ensuite, tu ne peux pas compter sur Edit Post du composant mais tu dois générer du SQL

    Enfin, voir avec FieldDefs comment ajouté un champ mais il me semble que le DataSet doit être clos à vérifier ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Points : 61
    Points
    61
    Par défaut
    Merci de ta réponse.
    J'espère avoir compris la 2 eme partie de ton post. En effet, je ne compte pas sur le composant pour mettre a jour la base de donné. J'ai prévu (et coder) de tester les valeurs présente dans la 2eme colonne puis de faire des requête avec ces valeurs.

    Par contre j'ai tester ton code. En mode édition je vois bien apparaitre la deuxième colonne, hélas des que je compile et lance mon projet, elle disparait.
    J'avais également tenter de faire passer un nom dans fieldName, mais si ce nom n'est pas dans le composant myquery delphi plante magnifiquement.

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 449
    Points : 24 856
    Points
    24 856
    Par défaut
    Disparait ?
    Quelle DB ? Quel Composant ?
    Est-ce que la requête se comportement correctement dans l'outil SQL fourni avec ta DB ?
    As-tu défini les colonnes dans ColumnHeader ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Points : 61
    Points
    61
    Par défaut
    Ma colonne disparait dans mon composant DBADvGrid
    Ma requête doit s'exécuter correctement puisque ma première colonne se remplit.
    j'ai fait un petit montage pour être plus clair.
    Par Contre je ne connais pas le ColumHeader. Ou est ce que je le trouve ? j'ai chercher dans les propriété de DBADvGrid, mais j'ai du passer a coté.

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 449
    Points : 24 856
    Points
    24 856
    Par défaut
    J'ai une très vieille version de TMS, ... alors ..., il y a normalement des démos fournis avec, ... perso, je n'aime pas TMS, c'est trop intrusif et absolument pas standard ...

    autre solution, tu crées une table temporaire avec deux colonnes (trois pour un id si nécessaire), tu l'a rempli avec les données existantes, et tu lance une requête pour afficher cette table, tu modifie la table, ensuite pour mettre à jour, un UPDATE avec une jointure sur la table temporaire pour faire merveille ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Points : 61
    Points
    61
    Par défaut
    J'ai trouver le ColumHeader, mais mal grès ca je n'ai pas résolu mon problème.
    Je rempli ma colonne de gauche avec une requête et dans l'idée je doit remplir la colonne de droite.
    Au final ma requête me sert juste a connaitre le nombre de ligne. je vais remplacer ma DBGrid par une grid classique pour éviter la confusion avec la base de donnée, et me servir des requêtes de mon composant MyQuery pour connaitre mon nombre de ligne.
    C'est peut être une solution bien plus propre.

  8. #8
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 449
    Points : 24 856
    Points
    24 856
    Par défaut
    Ah, c'est MyQuery, sinon CoreLab (TCRGrid) fait aussi sa propre grille ... sinon du coup tu la LocalUpdate qui peut te servir ... mais oui, si ce n'est pas purement lié à la DB, une grille normalement sera plus facile à manipuler ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 152
    Points : 61
    Points
    61
    Par défaut
    Ok, je vais mis attaquer.
    Merci de tes conseils.

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/04/2011, 17h15
  2. Réponses: 1
    Dernier message: 12/01/2010, 22h18
  3. Ajout d'une colonne avec une valeur par defaut
    Par Rumeurs dans le forum PL/SQL
    Réponses: 3
    Dernier message: 13/07/2009, 18h06
  4. Ajouter une colonne avec proc sql
    Par green_fr dans le forum SAS Base
    Réponses: 3
    Dernier message: 08/07/2008, 10h13

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