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

Bases de données Delphi Discussion :

Problème de déplacement dans une dbGrid


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier Avatar de marcootz
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Points : 104
    Points
    104
    Par défaut Problème de déplacement dans une dbGrid
    Bonjour,

    J'ai un souci de scrollbar en utilisant le composant dbGrid relié à une TQuery. Lorsque j'utilise la roulette, les asenceurs ou les fleches haut bas du clavier, l'asenceur de scroll fonctionne mal.
    Il ne connait que 3 positions, haut bas et au millieu, et cela même si il y a beaucoup de ligne dans la grille. C'est un peu déroutant car il n'y a plus de repère pour savoir ou on se trouve dans la grille.

    J'ai bien essayé le code proposé dans cette FAQ mais ca ne change rien.

    Il y a plusieurs message sur le forum qui font état de ce bug mais aucun ne propose de solution.
    Il y a un post qui dit que avec le dbGrid de la JVCL il n'y a plus ce souci, mais ne pas avoir à utiliser cette librairie.

    Quelqu'un à t'il une solution pour corriger ce problème ?
    Merci d'avance
    Marcootz

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 265
    Points : 290
    Points
    290
    Par défaut
    Salut,

    Tu peux résoudre le problème en utilisant un TClientDataset qui affiche le contenu du TQuery.

    C'est le meme probleme que : http://www.developpez.net/forums/sho...d.php?t=445059

    a+

  3. #3
    Membre régulier Avatar de marcootz
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Points : 104
    Points
    104
    Par défaut
    Salut Zatoobux,
    Merci pour ta réponse. J'ai essayé d'utiliser le TClientDataset mais je n'ai aucun résultat dans ma liste.

    Je vais essayer d'expliquer ce que j'ai fait si jamais tu vois mon erreur :

    - J'ai placé le TClientDataset sur ma form
    - Je l'ai relié par la propriété "MasterSource" à la dataSource déja relié a la table qui me donne les résultats que je veux dans ma liste.
    - J'ai double cliqué sur mon TClientDataset et ajouté 2 champs manuellement (id et nom)
    - J'ai ensuite placé une autre dataSource relié au TClientDataset
    - ma DBLookupListBox est relié a ce 2° dataSet

    Malgré cela ma liste ne marche plus. Une idée ??

    Merci
    Marcootz

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 265
    Points : 290
    Points
    290
    Par défaut
    re,

    il y a erreur dans ta facon d'utiliser le TClientDataset.

    Tu dois avoir
    Un TQuery avec le SQL et l'alias de la BDD.
    Un TDataSetProvider avec comme DataSet le TQuery.
    Un TClientDataset avec comme ProviderName le nom du provider
    Enfin un TDataSource qui pointe su le TClientDataset.

    Pour ouvrir les données tu fait un open (ou active := true) sur le TClientDataset(pas sur le TQuery).

    a+

  5. #5
    Membre régulier Avatar de marcootz
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Points : 104
    Points
    104
    Par défaut
    Re Zatoobux,

    Désolé mais toujours rien dans ma liste, aucune erreur mais aucun résultat. J'ai fait tes étapes dans l'ordre. J'ai fait le "active:=true" sur le TClientDataSet et non pas sur le TQuery mais toujours rien...
    T'a pas une autre petite idée stp ??
    A+

  6. #6
    Membre régulier Avatar de marcootz
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Points : 104
    Points
    104
    Par défaut
    Salut à tous,
    Je n'arrive toujours pas à faire fonctionner la solution de Zatoobux. Quelqu'un à t'il une idée sur mon erreur ou alors une autre solution ?

Discussions similaires

  1. Problème "Justification" texte dans une sheridan dbgrid
    Par Kitty-cat dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 25/02/2008, 10h28
  2. Problème de recherche dans une BD
    Par ledevelopeur dans le forum Bases de données
    Réponses: 5
    Dernier message: 28/04/2004, 09h49
  3. Problème avec TNMSMTP dans une boucle.
    Par Orgied dans le forum Web & réseau
    Réponses: 3
    Dernier message: 07/04/2004, 10h19
  4. Données dans une DBgrid
    Par camino dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/02/2004, 03h40
  5. problème de guillemets dans une formule shell
    Par dim_italia dans le forum VBA Access
    Réponses: 7
    Dernier message: 18/08/2003, 12h46

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