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 :

Utilisation de AdvDBGrid


Sujet :

C++Builder

  1. #1
    Membre confirm�
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Juin 2007
    Messages
    144
    D�tails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 144
    Par d�faut Utilisation de AdvDBGrid
    Bonjour,

    J'arrive pas � mettre les totaux des colonnes d'un AdvDBGrid (TMS).

    J'ai mets :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    AdvDBGrid1->Floating->Visible=true; //pour afficher la somme en bas

    et j'ai mets le code suivant � l'�xecution de oncreate :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    void __fascall TForm1::FormCreate(TObject *Sender)
    {
      AdvDBGrid1->FloatingFooter->ColumnCalc[5] = acSum;//5 est la colone à totaliser
      AdvDBGrid1->RandomFill(False,100);
      AdvDBGrid1->AutoNumberCol(0);
    }
    A la compilation, c++builder me signale l'erreur :

    E2451 Undefined symbol 'acSum'

  2. #2
    Membre confirm�
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Juin 2007
    Messages
    144
    D�tails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 144
    Par d�faut
    Bonjour,

    J'ai utilis� une autre solution, mais je re�ois un message d'erreur � la compilation :
    [C++ Error] PieceUnit.cpp(1603): E2193 Too few parameters in call to '_fastcall TAdvStringGrid::SetFloats(int,int,const double)'

    Mon code :


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void __fastcall TPieceFrm::FormPaint(TObject *Sender)
    {
            UpdateSums(5);
    }
    //---------------------------------------------------------------------------
     
    void  TPieceFrm::UpdateSums(int depart)//les 5 dernieres colonnes á totaliser
    {
            for (int i=depart; DBAdvGrid1->ColCount-1;i++)
                    DBAdvGrid1->Floats[i,DBAdvGrid1->RowCount-1]=DBAdvGrid1->ColumnSum(i,1,DBAdvGrid1->RowCount-2);
            DBAdvGrid1->FloatingFooter->Invalidate();
    }
    //---------------------------------------------------------------------------

  3. #3
    Membre confirm�
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Juin 2007
    Messages
    144
    D�tails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 144
    Par d�faut
    Bonjour tout le monde,
    Est-ce qu'il y a personne qui utilise les composants de TMS ?!!!
    S.v.p Je suis bloqu� et j'ai besoin d'une solution.

  4. #4
    Membre �m�rite
    Avatar de Interruption13h
    Inscrit en
    Ao�t 2005
    Messages
    603
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 603
    Par d�faut
    Salut !

    Quand tu fais �a :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
     
    DBAdvGrid1->FloatingFooter->Visible=true;
    Non seulement tu affiche une ligne grise en bas de la grille, mais tu modifie la dimention de la grille, ��d que tu ajoute une ligne.

    Pour faire la somme des colonnes :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    int IndexDeLaDerniereLigne=DBAdvGrid1->RowCount-1;//çàd la FloatingFooter
    for(int j=0;j<AdvStringGrid1->ColCount;j++)
             DBAdvGrid1->Floats[j][IndexDeLaDerniereLigne]=
             DBAdvGrid1->ColumnSum(j,1,IndexDeLaDerniereLigne);
    Je modifie ta fonction de cette fa�on :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    void  TPieceFrm::UpdateSums(int depart)//les 5 dernieres colonnes � totaliser
    {
    int IndexDeLaDerniereLigne=DBAdvGrid1->RowCount-1;
    
    for (int j=depart; j<DBAdvGrid1->ColCount;j++)
           DBAdvGrid1->Floats[j][IndexDeLaDerniereLigne] =
           DBAdvGrid1->ColumnSum(j,1,IndexDeLaDerniereLigne-1);
    
    }
    Attention: � toi de v�rifier ci les elements des colonnes contiennent vraiment des valeurs de type float.


    Esp�rant t'avoir aider.



    A+

  5. #5
    Membre confirm�
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Juin 2007
    Messages
    144
    D�tails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 144
    Par d�faut
    Bonjour Interruption13h,

    Merci pour ta solution, je vais l'esayer tout de suite.

  6. #6
    Membre confirm�
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Juin 2007
    Messages
    144
    D�tails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 144
    Par d�faut
    J' ai fai une erreur de saisie, a la ligne suivante (le test de la boucle for):
    au lieu de :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    for (int i=depart; DBAdvGrid1->ColCount-1;i++)
    je dois faire :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    for(int i=depart;i<DBAdvGrid1->ColCount;j++)
    Merci encore.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    R�ponses: 8
    Dernier message: 08/06/2005, 15h57
  2. R�ponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    R�ponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    R�ponses: 2
    Dernier message: 04/04/2002, 16h01
  5. R�ponses: 2
    Dernier message: 20/03/2002, 23h01

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