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

Composants VCL Delphi Discussion :

Modifier les colonnes d'un DBGrid


Sujet :

Composants VCL Delphi

  1. #1
    Membre éprouvé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Par défaut Modifier les colonnes d'un DBGrid
    Salut tout le monde, j'effectue une requête dans ADOQuery puis je recupère le resultat dans un dbgrid.
    J'ai ensuite créé deux colonnes supplémentaires (qui ne sont pas reliées à des champs de la DB) dans le dbgrid.
    Pour finir j'ai essayé de modifier le contenu de ces champs de la façon suivante sachant que ces champs sont 5 et 6:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      dbgrid1.DataSource.DataSet.First;
      while not (dbgrid1.DataSource.DataSet.Eof) do
      begin
        dbgrid1.DataSource.DataSet.Edit; //Parce qu'il me demande à l'exécution de mettre le ADOQuery en mode Edition ou Insertion
        dbgrid1.Fields[5].Value := dbgrid1.DataSource.DataSet.FieldByName('a').Value - dbgrid1.DataSource.DataSet.FieldByName('b').Value;
        dbgrid1.Fields[6].Value := dbgrid1.DataSource.DataSet.FieldByName('d').Value - dbgrid1.DataSource.DataSet.FieldByName('e').Value;
        dbgrid1.DataSource.DataSet.Next;
      end;
    Malheuresement les resultats ne sont pas inscrits dans les colonnes 5 et 6 comme si elles étaient vérouillées alors qu'aucun message d'erreur n'est généré.

    Je n'arrive pas à comprendre ce qui se passe

  2. #2
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut
    Citation Envoyé par vg-matrix Voir le message
    J'ai ensuite créé deux colonnes supplémentaires (qui ne sont pas reliées à des champs de la DB) dans le dbgrid.
    C'est là que se situe l'erreur. Un DBGrid s'appuie sur un DataSet. Si la colonne du DBGrid pointe vers un champ inexistant du DataSet, il ne faut s'attendre à ce qu'il affiche quelque chose.

    2 solutions:
    • Tu ajoutes 2 champs calculés au DataSet
    • Ou plus simplement tu ajoutes ces 2 champs à ta requête ADO.


    @+ Claudius

  3. #3
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut
    Re ; là tu parle des champs calculés ;
    soit tu crée tes champs dans le ado query et c'est que je fait habituellement sinon tu crée un champ calculé ensuite dans le oncalculfield tu écrit ta formule ok

  4. #4
    Membre éprouvé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Par défaut
    Citation Envoyé par Cl@udius Voir le message
    2 solutions:
    • Tu ajoutes 2 champs calculés au DataSet
    • Ou plus simplement tu ajoutes ces 2 champs à ta requête ADO.
    Citation Envoyé par redoran Voir le message
    Re ; là tu parle des champs calculés ;
    soit tu crée tes champs dans le ado query et c'est que je fait habituellement sinon tu crée un champ calculé ensuite dans le oncalculfield tu écrit ta formule ok
    J'ignorais que c'était aussi simple Delphi est vraiment
    Grand à vous

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

Discussions similaires

  1. Modifier les colonnes dans un TreeViewer
    Par Viteazul dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 05/08/2009, 17h11
  2. Probleme pour ajuster les colonnes d"une dbgrid ou msflexgrid
    Par jacko842 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 10/01/2009, 17h35
  3. Calculer les colonnes d'un dbGrid
    Par samia13 dans le forum Bases de données
    Réponses: 2
    Dernier message: 31/03/2008, 15h22
  4. Réponses: 0
    Dernier message: 02/11/2007, 21h34
  5. comment modifier les données d'une table à travers un dbgrid
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 12
    Dernier message: 19/07/2005, 09h51

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