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 :

delphi dbctrlgrid affichage


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 1
    Par défaut delphi dbctrlgrid affichage
    Bonjour, j'ai utilisé un dbctrlgrid dans delphi pour afficher une table paradox mon pb est comment afficher plusieurs lignes dans un seul panel de dbctrlgrid (sachant que dbctrlgrid est composé de plusieurs panel) je veux que chaque panel affiche un groupe d'enregistrements..
    SVP si quelqu'un a une réponse ....

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 096
    Par défaut
    Tu "designes" un seul panel dans TDBCtrlGrid, chaque panel correspond à une seule ligne !
    En RunTime, pour chaque ligne du DataSet tu auras un Panel "virtuel" prenant modèle sur le Panel du Design !
    C'est le but du composant !

    Si tu veux grouper les enregistrements :
    Soit tu écrit un SQL pour un TQuery qui te regroupe les enregistrements (typiquement un GROUP_BY malheureusement GROUP_CONCAT n'existe pas en Paradox, ce qui peut être compliqué), tout dépend la forme de ton regroupement, une requête de PIVOT en Paradox, c'est complexe, il faut le faire manuellement car les tables temporaires n'existe pas)

    Soit tu fais ton propre affichage, avec une TScrollBox et des Panels créé à la main contenant plusieurs lignes

    Soit, tu bidouilles avec ColCount, pour que sur une ligne, tu aies plusieurs colonne de panel, cela peut être compliqué pour trouver le bon ordre des enregistrements si leur nombre est variable

    Enfin, une solution assez simple, je pense avec OnPaintPanel, tu ajoutes un champ dans la requête, un identifiant de groupe, tu effectue un dessin qui indique le groupe avec une couleur par exemple, ainsi tu alterne les couleurs pour les groupes pair\impair ce qui donnera l'illusion d'un groupement d'enregistrement
    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

Discussions similaires

  1. [Delphi XE4] Affichage de DBComboBox dans une grille
    Par larchitecte dans le forum Composants VCL
    Réponses: 2
    Dernier message: 16/10/2013, 13h58
  2. Delphi 7 affichage de la langue arabe
    Par 21247692 dans le forum Bases de données
    Réponses: 15
    Dernier message: 25/02/2009, 13h54
  3. [DELPHI 7] Affichage ToolBar + Button
    Par fthdz dans le forum Delphi
    Réponses: 2
    Dernier message: 23/02/2007, 16h32
  4. Réponses: 4
    Dernier message: 31/03/2005, 08h48
  5. PB : affichage de données avec accent sous delphi 6
    Par kinda dans le forum Débuter
    Réponses: 3
    Dernier message: 03/07/2003, 13h19

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