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 :

Problème avec TDBGrid


Sujet :

C++Builder

  1. #21
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    alors...si j'ai bien tout compris...
    la source de ce que tu veux trié est une table, sur laquelle pointe ton DbGrid. Une table donc tu n'as pas accès à un SQL...Il faudrait spécifier une query à la place.
    Là il se passe rien, puisque tu changes le SQL d'une query qui n'est pas la source de ton DBgrid.

    Ds ton organisation, tu as :
    DBGrid vers datasource vers TBVisit.
    et tu dis avoir QVisit vers datasource...le datasource de ton query ne sert ici que dans le cas d'un relation maitres-details.

    Donc..ce que je ferais...
    Remplacé ton TBVisit par l'équivalent en Query..et ensuite tu fais le tri sur ce dataset là.

    En espérant ne pas être à côté de la plaque..

    Bon courage

  2. #22
    Membre confirmé Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Par défaut
    Je vois ce que tu veux dire, il faudrait donc que je remplace toutes mes TTable par les Query avec pour requete sql "select * from matable"


    Pourtant j'ai auparavent deja utilise mon query pour pouvoir supprimer un visiteur dont voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    void __fastcall TForm1::ELIMINARE_VISITATOREClick(TObject *Sender)
    {
     ELIMINARE_VISITATORE->Enabled = false; // Empeche 2 élimination à la suite
     MODIFICARE_VISITATORE->Enabled = false;// Empeche la modification
     
     TLocateOptions Option;                 // Option de recherche pour le locate
     
     /* Demande confirmation pour l'élimination */
     if(TBVisit->Locate("cognome",cognome_visitatore->Text,Option)==false) return;
     int ok=Application->MessageBox(ConfElimVisit1,ConfElimVisit2,\
     MB_OKCANCEL|MB_ICONQUESTION);
     if(ok!=1) return;
     
     /* Ecriture de la requete */
     AnsiString sql="";
     
     sql = "Delete from visitatori where ";
     sql = sql + "cognome = '" + cognome_visitatore->Text + "'";
     
     QRVisit->SQL->Clear();                 // Efface la requete précédente
     QRVisit->SQL->Add(sql);                // Ajoute de la nouvelle requete
     QRVisit->ExecSQL();                    // execute la requete
     
     TBVisit->Refresh();                    // Mise à jour de la table
     
     ShowMessage(ElimVisit);  // Message de confirmation
    }
    Et celle ci ne m'as jamais posée de problème, elle fonctionne très bien et le fait d'avoir en plus un composant TTable ne le gene pas.
    C'est tout de meme curieux que celle-ci fonctionne et pas celle pour le tri !!

    Et changer tout mes TTable par mes Query alors que j'ai environ 1000 lignes dans mon programme, ca risque de prendre un certain temps mais si c'est vraiment la solution

  3. #23
    Membre éclairé Avatar de BOUBOU81
    Profil pro
    system integrator
    Inscrit en
    Juin 2004
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : Allemagne

    Informations professionnelles :
    Activité : system integrator

    Informations forums :
    Inscription : Juin 2004
    Messages : 358
    Par défaut
    Oui mais lorsque tu supprime tu lance une commande
    puis tu rafraichis ta table
    alors que pour le trie tu faie le trie sur ton Query et pas sur ta table

  4. #24
    Membre confirmé Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Par défaut
    Ok alors je vais voir ca de plus pres

  5. #25
    Membre confirmé Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Par défaut
    Et par hasard il n'y aurait pas une astuce de le faire en gardant mes TTable ?
    car je suis moyennement chaud à modifier 1000 lignes de programmes qui fonctionne bien a part ce tri qui n'est pas réalisé

  6. #26
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    honnetement, l'utilisation des Tables restreint vachement les possibilités mais ce n'est que mon avis perso.
    Par ailleurs, je pense pas que ce soit si compliqué de changer...d'une part, ts les controles orientés sont liés au datasource qui lui ne va pas bougé..et puis 1000 lignes de code...c'est assez calme qd même


    Pour moi tu as tout intérêt à changer.
    Une dernière chose...ne renseigne pas le datasource de ton query.

    Bon courage, A+

  7. #27
    Membre confirmé Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Par défaut
    oki merci, je vais voir tout ca

  8. #28
    Membre confirmé Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Par défaut
    Pour ceux que ca interesse j'ai trouvé cela qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     ((TTable*)(Column->Field->DataSet))->IndexFieldNames=Column->FieldName;
    Par contre c'est juste pour le tri croissant.
    Si quelqu'un connait une technique dans le genre pour le decroissant ce serait impec

    Merci

  9. #29
    Membre confirmé Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Par défaut
    Puisque que la réponse est compris dans ce post, Je met le Tag [Résolu].

    Meme si ca marche pas exactement comme je voudrais chez moi ca pourra certainement en aider d'autres

    Ciao et

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Problème de TDBGrid avec TMyQuery (MyDac)
    Par brotapz dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/05/2010, 17h07
  2. Problèmes avec TdbGrid Column.width
    Par frantzgac dans le forum Composants VCL
    Réponses: 3
    Dernier message: 13/06/2008, 19h53
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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