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

Lazarus Pascal Discussion :

[0.9.26.2] StringGrid : à quoi sert la propriété visible des colonnes ?... et pas content !


Sujet :

Lazarus Pascal

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [0.9.26.2] StringGrid : à quoi sert la propriété visible des colonnes ?... et pas content !
    Bonjour,

    j'ai posé 2 questions dans le bug tracker mais une d'entre elles a été effacée. Ce n'était peut-être pas le lieu ou alors elle était idiote. Quelqu'un va certainement pouvoir m'expliquer...

    StringGrid "commune" avec 2 colonnes construites avec l'inspecteur d'objet
    Je pose une StringGrid sur une Form puis définis 2 colonnes à l'aide des propriétés de l'inspecteur d'objet : Propriétés --> Clic sur "Columns" puis bouton [...].
    2 colonnes sont ainsi créées : 0-title et 1-title.
    Ceci fait dans l'inspecteur d'objet de la StringGrid, dans les propriétés
    • Columns indique automatiquement : 2 items
    • Colcount indique automatiquement : 3
    • VisibleColcount indique automatiquement : 3

    L'écart Columns/Colcount est logique paraît-il car par défaut les Cells[0,y] sont gsfixed... Donc le colcount serait en quelque sorte le nombre de colonnes "actives". Hormis un décalage que j'estime hasardeux et compliquant inutilement la programmation, pourquoi pas ? Là n'est pas le problème même si je trouve le concept malhabile.
    Dans cette configuration de la Grid, il existe bien 3 colonnes que l'on peut "atteindre" par programmation :
    • les Cells[0,y] inatteignables (donc) par Columns[x] (puisqu'ici gsFixed)
    • les Cells[1,y] qui correspondent à Columns[0]
    • les Cells[2,y] qui correspondent à Columns[1]

    Même StringGrid avec une colonne déclarée invisible
    Maintenant, je retourne dans l'inspecteur de colonnes, je clique sur 0-title par exemple et place la propriété visible de la colonne à false.
    Elle existe toujours bien dans l'éditeur de colonnes [dans propriété on lit toujours Columns : 2 items] mais le Colcount de la StringGrid indique 2 (au lieu de 3 avant) et en effet un Cells[2,y] provoque une erreur.

    En résumé dans l'inspecteur d'objet de la StringGrid avec une Columns[x].visible = false, dans les propriétés
    • Columns indique automatiquement : 2 items
    • Colcount indique automatiquement : 2
    • VisibleColcount indique automatiquement : 1


    Ce qui correspond au fonctionnement par programmation suivant
    • les Cells[0,y] inatteignables par Columns[x]
    • les Cells[1,y] qui correspondent à Columns[0]
    • les Cells[2,y] qui provoquent une erreur out of range cell...


    Question
    Alors la question posée est la suivante : à quoi sert la propriété visible des colonnes si en réalité lorsqu'on la met à false, la columns[x] présente dans l'éditeur de colonnes de la stringGrid ipso facto n'existe plus pour la programmation puisque Columns[x] et Cells[x+1,y] povoquent l'erreur (out of range cell...) ?


    Merci de m'éclairer.

    Cordialement. Gilles
    Dernière modification par Invité ; 14/08/2009 à 21h01.

Discussions similaires

  1. ActionMappings - à quoi sert la propriété unknown
    Par programaniac dans le forum Struts 1
    Réponses: 0
    Dernier message: 15/06/2011, 12h34
  2. A quoi sert la propriété JTextField.columns ?
    Par Jcpan dans le forum Composants
    Réponses: 1
    Dernier message: 19/01/2009, 10h15
  3. A quoi sert la Propriété BookMark et BookMarkable
    Par r.mehdi dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 13/06/2008, 12h45
  4. Réponses: 2
    Dernier message: 23/04/2008, 19h56
  5. [2.0] A quoi sert la propriété ValuePath des TreeViews ?
    Par stephane.net dans le forum ASP.NET
    Réponses: 5
    Dernier message: 17/03/2007, 21h09

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