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 :

FMX.StringGrid et gestion de lignes


Sujet :

Composants FMX Delphi

  1. #1
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut FMX.StringGrid et gestion de lignes
    Bonjour,

    j'ai toujours fait des grilles avec liens, cette fois je rempli un stringgrid comme on le fait un VCL et pouvoir :
    - supprimer une ligne (Rows de la VCL)
    - changer la hauteur de ligne (RowHeights de la VCL)
    Et là, je butte sur un os : les propriétés sont inconnues au bataillon

    Je vais changer mon fusil d'épaule et créer une table mémoire que je vais lier mais je passe certainement à côté de quelque chose ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  2. #2
    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
    Points : 3 611
    Points
    3 611
    Par défaut
    De mémoire on a juste les cellules, donc à nous de tout faire.

  3. #3
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    C'est quand même dommage que ces propriétés ne soient pas disponibles !
    donc à nous de tout faire.
    pour ce qui est de la suppression de ligne j'arrive encore à voir comment m'y prendre (sans tests et uniquement en théorie) mais pour les hauteurs cela va demander un sacré test !
    Et je n'ai pas encore parlé de fusion de cellules

    Conclusions après avoir posé les rames

    Pour ce qui est de mon problème, je suis donc passé par une table mémoire et une StringGrid, j'ai aussi testé une Grid, TMSFMXLiveGrid mais pas encore TMSFMXGrid.
    Il m'est arrivé des choses étonnantes avec TMSFMXLiveGrid (AMHA un bug) qui m'a obligé à rajouté un DisableControls/EnableControls pour encadrer le "remplissage"
    J'ai aussi beaucoup pesté avec les Livebindings et la grille (10.3) c'est là où l'on va voir si l'indication d'amélioration de LiveBindings de la 10.4.2 a été pertinente

    En tout cas, je peste sur les Grilles FMX, c'est vrai que je les utilisent de moins en moins (bien m'en prend car ma fin de journée, tout en t'écoutant, a été très frustrante)
    en chose étranges que je n'avais jusqu'à présent pas vues, tout à mes FMX.ListView
    - StringGrid permet un popupMenu pas Grid !
    - Impossible avec les liaisons rapides de mettre des colonnes de type popupcolumn ! Il y a là, une "amélioration" qui m'échappe, je vais vérifier avec un XE car j'ai un doute.
    * l'option alwaysshoweditor m'a fait des misère sur les colonnes que j'ai défini comme readonly, je viens juste de comprendre en écrivant ces lignes, peut-être, la signification exacte . d'où l'astérisque au lieu du tiret
    - Les onCellClick il manque quand même la position ou le TRect de la cellule, cela aurait été pratique pour poistionner un popupmenu. Un OnCellClickex eut été bien.

    Bref, si je dois à nouveau travailler avec les grilles et Livebindings c'est clair, il faudra que je passe par les liaisons "à la main" comme dans mon tutoriel
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    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
    Points : 3 611
    Points
    3 611
    Par défaut
    Si tu veux aller plus loin tu peux aussi essayer le TGridPanelLayout (c'est moins facile qu'une TStringGrid à remplir en automatique) mais au moins tu as la main sur tout ce qui t'intéresse.

    ----

    update 27/03/2021 23h42

    en fait non : TGridPanelLayout et TGridLayout ne semblent pas permettre la fusion des cellules (ou je n'ai pas retrouvé comment alors que j'ai vu des trucs qui le montraient, mais pas forcément avec ces composants)

  5. #5
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    Oui, mais non, c'est pas vraiment le bon composant quand on veut travailler avec des données d'un fichier (mes fameuses 230 erreurs Prestashop)
    En changeant mon fusil d'épaule (Memtable) c'est quand même mieux, c'est juste que le livebindings et les grilles c'est pas encore le top. Utilisant de moins en moins les grilles j'ai du oublier des astuces il faut que je me relise ! (ah, vieillesse quand tu me tiens ! Aloïs est en embuscade)

    P.S. si vous ne savez qui est Aloïs alors vous aussi êtes atteint
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    je me permets d'étendre un peu la réflexion. Il est vrai que FMX apporte beaucoup pour la 3D mais à quel prix ? Il est vrai également que des Grids ou "pire" des stringgrids sur un mobile présentent un intérêt [i.e. un usage] limité pour les mobiles. J'en reviens toujours à la même conclusion. FMX est orienté Mobile et pas Desktop. Je me demande combien de développeurs l'utilisent pour cette dernière cible. Lazarus fait beaucoup mieux pour le Desktop et en plus, utilise les objets natifs des OS cibles. Grids et Stringgrids disposent des propriétés et des évènements nécessaires et répondent dans la majorité à la plupart des besoins.

    Si on délaisse les Grids et autres Stringgrids, FMX est "acceptable" si on adopte (tolère*) le LiveBindings. Si on a beaucoup de temps à perdre et que les délais de production ne sont pas impératifs, il l'est aussi pour leurs usages. Mais à lire le forum, pour moi le langage généraliste qu'était Delphi existe encore avec VCL mais a disparu avec FMX. Un bon exemple est évoqué dans cette discussion.

    Cordialement. Gilles

    * j'aimerais bien savoir qui raffole de cette approche. Évidemment, je ne fais pas partie du nombre.
    Dernière modification par Invité ; 27/03/2021 à 16h52.

Discussions similaires

  1. Gestion des lignes vides avant/après une liste
    Par 84mickael dans le forum Mise en forme
    Réponses: 4
    Dernier message: 28/08/2007, 17h25
  2. Mysql:: application de gestion en ligne
    Par thibaut06 dans le forum Outils
    Réponses: 0
    Dernier message: 16/08/2007, 15h42
  3. BCB6: StringGrid=> affichage de la ligne selectionné
    Par lothar83fr dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/05/2007, 12h04
  4. [Formulaire][VBA] Gestions des lignes du formulaire
    Par Oberown dans le forum VBA Access
    Réponses: 3
    Dernier message: 13/04/2007, 22h44
  5. Outil de gestion en ligne
    Par sami_c dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 31/01/2007, 10h36

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