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 FMX Delphi Discussion :

[Delphi rio 10.3.3] Comment avoir un scrollbar sur un stringgrid


Sujet :

Composants FMX Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    2 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2 243
    Par défaut [Delphi rio 10.3.3] Comment avoir un scrollbar sur un stringgrid
    Je ne pensais par avoir à poser une question aussi bête un jour... Et pourtant...

    Alors qu'il fallait simplement régler une propriété dans l'inspecteur d'objet pour un stringgrid en VCL, comment fait-on pour un stringgrid en FMX???


    Embarcadero ferait bien de prendre un peu plus au sérieux sa documentation. Parce que à force d'être confronté à de la doc incomplète qui précise que l'utilisateur peut aider Embarcadero à compléter sa doc de m... et à un manque complet de tout exemple de code (qu'elle est loin la période bénie de la doc de Delphi7!!!), ils vont inciter les développeurs Delphi les plus fidèles à jeter leur produit à la poubelle!

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 604
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Je passe le fait de la mauvaise humeur

    Déjà je répondrai que FMX est du multi plateforme et que la ScrollBar n'a absolument pas le même comportement selon la cible ce qui n'est pas sans arrachage de cheveux à cause de sa disparition si la grille n'est pas le composant actif (je crois qu'il y a déjà eu un post à ce sujet), tout comme la largeur souhaitée (pendant que j'y pense, un style personnalisé pourrait peut-être y faire quelque chose)

    Ensuite, je l'avoue :
    je ne comprend pas totalement la demande (de quel scrollbar s'agit-il vertical/horizontal) ?
    je n'utilise pratiquement plus les TStringgrids ni même les TGrids et préfère les TListView quel serait l'objectif (une image écran de ce qui serait voulu en VCL vs FMX ?)

  3. #3
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    Côté doc, y a des efforts qui sont faits mais il y a toujours des manques, n'hésite pas à ouvrir des tickets d'incident à partir des pages de documentation que tu juges incomplètes ou qui sont vides afin de leur rappeler qu'un petit quelque chose serait utile. Il y a un lien QP en bas de chaque page du docwiki pour ça.

    Vérifie aussi la page en anglais, il y a parfois des écarts dans la traduction même s'ils tentent d'éviter les loupés et que tout soit synchronisé.

    Concernant ton problème plus direct, la grille devrait avoir les ascenseurs automatiques horizontalement et verticalement si son contenu déborde d'un côté ou de l'autre.

    Dans quelle version es-tu ?
    Est-ce que si tu ajoutes une TStringGrid à une fiche et y insère des colonnes les ascenseurs apparaissent bien dans l'IDE ?

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    2 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2 243
    Par défaut
    Citation Envoyé par pprem Voir le message
    Côté doc, y a des efforts qui sont faits mais il y a toujours des manques, n'hésite pas à ouvrir des tickets d'incident à partir des pages de documentation que tu juges incomplètes ou qui sont vides afin de leur rappeler qu'un petit quelque chose serait utile. Il y a un lien QP en bas de chaque page du docwiki pour ça.

    Vérifie aussi la page en anglais, il y a parfois des écarts dans la traduction même s'ils tentent d'éviter les loupés et que tout soit synchronisé.

    Concernant ton problème plus direct, la grille devrait avoir les ascenseurs automatiques horizontalement et verticalement si son contenu déborde d'un côté ou de l'autre.

    Dans quelle version es-tu ?
    Est-ce que si tu ajoutes une TStringGrid à une fiche et y insère des colonnes les ascenseurs apparaissent bien dans l'IDE ?
    Hello,

    Merci pour ta réponse.

    Avec Delphi Rio 10.3.3, j'ai ajouté un TStringgrid FMX sur une fiche pour une app Android. Les données dépassent mais les ascenseurs n'apparaissent pas!

    Si je code "StringGrid1.EnabledScroll:=true;", il y a un pseudo-fonctionnement de scrollbar: Il faut garder le doigt pressé sur l'entête du tableau (et pas sur une ligne de données)>>>Il apparait alors une ligne grise sur le côté du tableau qui laisse à penser qu'il y a quelque chose à scroller >>> je glisse le doigt sur l'écran et je peux "scroller" vers le haut ou le bas pour afficher les lignes qui n'apparaissaient pas.

    Où est le problème? Il y a tout simplement pas la moindre chance que l'utilisateur lambda comprenne qu'il y a des données à scroller et comment faire pour scroller!!!

    ***

    Concernant la doc Delphi avec une multitude de phrases magiques "Embarcadero n'a pas d'info sur la propriété X ou Y", c'est tout simplement scandaleux! Comment peut-on défendre un produit comme Delphi qui coûte la peau des fesses avec ce genre d''approche quand un Lazarus gratos est parfaitement documenté???

    C'est tout simplement du "foutage de gueule"! Je viens de revoir une facture de plusieurs milliers d'euro pour l'abonnement à Delphi et franchement je me demande si cela vaut la peine de continuer avec une entreprise qui méprise ses clients!

    Et surtout que personne me vende le balabla marketing "oui mais avec Delphi, on a un gros gain de productivité". Quand tu dois perdre des heures sur le web a chercher ce que Embarcadero n'explique pas dans sa doc (pour certains sujets, j'ai trouvé des réponse sur des sites ukrainiens et japonais... Merci à google translate), la productivité tu la trouves chez Lazarus avec la gratuité en plus!

  5. #5
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Citation Envoyé par pprem Voir le message
    Côté doc, y a des efforts qui sont faits
    Au bout de 15 ans, je ne les ai toujours pas vu.
    100 % d'accord avec Anselme45.
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 604
    Billets dans le blog
    65
    Par défaut
    Bonjour,
    Je n'utilise pas les TListView. Est-ce que la notion de scrollbar existe pour ce type de compo?
    que ce soit un TStringList, un TGrid, un TListBox ou un TListView je crois qu'ils ont le même descendant : un TScrollbox.
    Donc, pour répondre à la question, oui.

    j'ai ajouté un TStringgrid FMX sur une fiche pour une app Android. Les données dépassent mais les ascenseurs n'apparaissent pas!
    on y est, je t'avais répondu
    Citation Envoyé par SergioMaster
    Déjà je répondrai que FMX est du multi plateforme et que la ScrollBar n'a absolument pas le même comportement selon la cible
    Déjà s'il s'agit d'une cible Androïd, je reste ferme j'utiliserai ListView pour des données. Il ne vient pas à l'esprit de permettre de la saisie dans une Grille sous Android.

    Si je code "StringGrid1.EnabledScroll:=true;", il y a un pseudo-fonctionnement de scrollbar: Il faut garder le doigt pressé sur l'entête du tableau (et pas sur une ligne de données)>>>Il apparait alors une ligne grise sur le côté du tableau qui laisse à penser qu'il y a quelque chose à scroller >>> je glisse le doigt sur l'écran et je peux "scroller" vers le haut ou le bas pour afficher les lignes qui n'apparaissaient pas.
    toujours à mon avis, ton erreur est de vouloir un comportement et un interface "à la windows". Sinon c'est le comportement normal Android. N'utilisant pas Stringgrid pour une cible Android (et même windows désormais) je n'ai pas constaté le phénoméne 'garder le doigt sur l'entête'

    Il est possible que je me trompe complétement.
    Que la scrollbar se cache, il semblerait que ce ne soit pas Delphi le coupable mais le comportement Android "normal" vois-tu un ascenseur dans ta page paramètre de ton téléphone (ScrollBox ou ListBox) ou dans la liste des SMS (un TListView) ? AMHA non, sauf quand le doigt est dessus, une raison des doigts trop gros pour la glissière et pas de dispositif de pointage.

    Delphi tendant à faire de plus en plus de composants plateforme, je pense qu'il a été décidé de suivre le comportement de la plateforme.

    Où est le problème? Il y a tout simplement pas la moindre chance que l'utilisateur lambda comprenne qu'il y a des données à scroller et comment faire pour scroller!!!
    Si tu regardes certaines interface pour indiquer ce genre de choses il y a souvent un/des bouton/s genre page suivante/précédente et les données sont paginées

    Une solution ?
    A mon avis, bien qu'hier mes tentatives d'accès n'ont pas été couronnées de succès, tout se joue dans les styles (ne pas oublier que même si l'on en utilise pas il y a un style par défaut).
    Je n'ai pas non plus pris beaucoup de temps pour mes tests et n'ai pas vraiment fouillé dans les feuilles de styles, à mon avis il y a des triggers qui font le boulot de cacher/afficher les curseurs.
    Dans mes tests j'ai voulu directement accéder aux deux barres (HBar, VBar)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     var Alayout : TLayout
     StringGrid1.FindStyleResource<TLayout>('StrinGridStyle',aLayout) 
    // ou
    var T : TTrackBar          
    StringGrid1.FindStyleResource<TTrack>('StrinGridStyle.HTrack',aLayout)
    Mais non, j'ai une exception. Il faut dire que le style d'une grille est vraiment complexe, si j'arrive à accéder à des élements de style "simple", le style d'un grille est un ensemble composé at ça, je n'ai jamais tenté sauf hier .



    Et surtout que personne me vende le balabla marketing "oui mais avec Delphi, on a un gros gain de productivité".
    Pas d'accord, je ne fais pas de marketing et j'ai pu écrire aussi des programmes avec Lazarus. De mon expérience même en se basant sur D7 et ce pour des programmes de gestion je préfère D7. Je suis trop vite tombé sur des composants à faire à la main

    Concernant la doc
    Même si j'ai tendance à être de ton avis sur le "foutage de gueule" de "Embarcadero n'a pas d'info etc..", que la recherche d'information adéquate passe par des recherches web, dans les sources et dans les exemples fournis. Il faut raison garder. Selon mon expérience, et crois moi, des programmes de gestion j'en écris tout les jours, c'est quand on sort des sentiers battus que l'on se heurte à ce genre de message. Sur une forme "classique" de données à afficher je n'utilise que rarement la touche aide (le plus souvent pour le TPath de ioutils mais il y a de la doc et surtout le wiki) maintenant, oui, je m'en écarte régulièrement et là c'est de la plongée profonde, immersion dans les sources (exemple TPath de l'unité graphics, deux "composants" avec le même nom !)

    Oui c'est rageant (et tu es coutumier du fait) d'avoir un produit cher (enfin faut-il comparer ce qui est comparable) et qu'il y ait des lacunes de documentation (cite moi un truc qui n'en ai pas, ne me dit pas Lazarus ou alors c'est qu'il a beaucoup évolué depuis mes essais, et c'est grâce aux bénévoles).

    Parlons pro et relativisons le prix : Ramené à la journée de travail, ou plutôt à l'année : moins de 3€ pour Delphi (je ne parle pas de l'investissement initial mais de renouvellement sur la base d'une version Entreprise)
    Je t'arrête : je n'ai aucune action, revenu etc. de la part d'Embarcadero ou revendeurs et aucune contrainte genre MVP et donc garde mon droit à râler @quisesentvisé, c'et vraiment ce que je pense. Peut-être que dans moins de 1000 jours (je suis passé sous cette barre) commencerai-je à râler sur le prix du renouvellement, mais rien ne m'empêchera de continuer avec un "vieux" delphi et ce ne sera plus en tant que pro.

  7. #7
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    2 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2 243
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,
    Toujours à mon avis, ton erreur est de vouloir un comportement et un interface "à la windows". Sinon c'est le comportement normal Android. N'utilisant pas Stringgrid pour une cible Android (et même windows désormais) je n'ai pas constaté le phénoméne 'garder le doigt sur l'entête'
    Vu que le projet consiste à transposer une application windows existante en une version Android dans les plus brefs délais, j'avoue mon erreur d'être tenté d'aller au plus court sans remettre en question la logique de fonctionnement "windowienne"

    Citation Envoyé par SergioMaster Voir le message
    Que la scrollbar se cache, il semblerait que ce ne soit pas Delphi le coupable mais le comportement Android "normal"...

    Une solution ?
    A mon avis, bien qu'hier mes tentatives d'accès n'ont pas été couronnées de succès, tout se joue dans les styles (ne pas oublier que même si l'on en utilise pas il y a un style par défaut).
    Perso, je ne cherche pas des coupables mais des solutions. En l'état, Delphi propose un composant stringgrid FMX avec un fonctionnement "scrollbar" qui est tout simplement inutilisable dans le monde réel pour une app Android. Je suis de ton avis, il faut oublier cette solution.

    Citation Envoyé par SergioMaster Voir le message
    Concernant la doc
    Même si j'ai tendance à être de ton avis sur le "foutage de gueule" de "Embarcadero n'a pas d'info etc..", que la recherche d'information adéquate passe par des recherches web, dans les sources et dans les exemples fournis. Il faut raison garder. Selon mon expérience, et crois moi, des programmes de gestion j'en écris tout les jours, c'est quand on sort des sentiers battus que l'on se heurte à ce genre de message. Sur une forme "classique" de données à afficher je n'utilise que rarement la touche aide (le plus souvent pour le TPath de ioutils mais il y a de la doc et surtout le wiki) maintenant, oui, je m'en écarte régulièrement et là c'est de la plongée profonde, immersion dans les sources (exemple TPath de l'unité graphics, deux "composants" avec le même nom !)
    Désolé d'avoir à utiliser Delphi pour des projets nécessitant autre chose que des TLabel, Tedit et soyons fou des TPanel.

    Perso, j'ai un usage très large de Delphi (allant de la simple application "classique" au développement de protocole de communication, de logiciel de contrôle commande de processus industriel) et j'ai toujours été heureux de constater que Delphi me permettait de tout faire! C'est d'autant plus rageant de voir le comportement de Embarcadero.

    Quand on est une société de plus de 500 personnes, est-il trop demandé d'attendre qu'une dizaine de personnes soient dédiées à compléter la documentation au fil des années? Parce que je précise que les phrases magiques "Embarcadero ne dispose pas d'info sur la propriété X ou Y" ne se limitent pas à des composants exotiques et nouvellement ajoutés à Delphi!

    Citation Envoyé par SergioMaster Voir le message
    Oui c'est rageant (et tu es coutumier du fait) d'avoir un produit cher (enfin faut-il comparer ce qui est comparable) et qu'il y ait des lacunes de documentation (cite moi un truc qui n'en ai pas, ne me dit pas Lazarus ou alors c'est qu'il a beaucoup évolué depuis mes essais, et c'est grâce aux bénévoles).
    Fondamentalement, ce n'est pas un problème de prix. Le problème est que Embarcadero joue sur les 2 tableaux: Ils font dans le commercial et compte sur des bénévoles pour améliorer le produit qu'ils vendent!!!

  8. #8
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    2 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2 243
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Ensuite, je l'avoue :
    je ne comprend pas totalement la demande (de quel scrollbar s'agit-il vertical/horizontal) ?
    je n'utilise pratiquement plus les TStringgrids ni même les TGrids et préfère les TListView quel serait l'objectif (une image écran de ce qui serait voulu en VCL vs FMX ?)
    Hello,

    J'utilise un stringgrid pour afficher un tableau de données et je parles des scrollbar vertical et horizontal qui permettent à l'utilisateur de visualiser des données qui ne sont pas accessibles parce que la zone d'affichage n'est pas suffisante pour afficher tout le tableau (exemple ci-dessous)!

    Nom : stringgrid-vcl-avec-scrollbar.png
Affichages : 875
Taille : 12,9 Ko

    Je n'utilise pas les TListView. Est-ce que la notion de scrollbar existe pour ce type de compo?

    Merci pour la réponse

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

Discussions similaires

  1. Comment avoir des informations sur une table ?
    Par Shogun dans le forum Oracle
    Réponses: 2
    Dernier message: 09/01/2007, 15h40
  2. [Forum][Conseil] Comment avoir un forum sur mon site ?
    Par jessi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 02/11/2006, 21h07
  3. Comment avoir le WiFI sur WINDOWS 2000?
    Par chevy dans le forum Windows Serveur
    Réponses: 6
    Dernier message: 07/03/2006, 14h50
  4. Comment avoir une référence sur une Vue
    Par Philippe299 dans le forum MFC
    Réponses: 1
    Dernier message: 12/08/2005, 10h03
  5. Comment avoir des information sur une BD?…
    Par kikimnet dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/02/2005, 09h20

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