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 :

Comment cacher une colonne d'un TListView ?


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut Comment cacher une colonne d'un TListView ?
    bonjour,

    je chercherais a cacher une colonne dans un listview, étant donné qu'il n'y a pas de propriété "Visible" je ne vois pas comment je pourrais faire.

    merci

  2. #2
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut

    Citation Envoyé par Shredder Voir le message
    étant donné qu'il n'y a pas de propriété "Visible"...
    A ouais je n'avais jamais remarqué !

    Peut-être en jouant sur la largeur de la colonne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      ListView1.Column[2].Width := 0;
    Attention à MinWidth.

    @+ Claudius

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    hélas non, car avec ça l'utilisateur peut toujours faire réapparaitre la colonne manuellement

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    SAlut
    Effectivement c pas cool, j'ai bien essayé de magouillé un truc mais c pas simple....
    N'aurais tu pas la possibilité de stocker les valeur de ta colonne et du la supprimer physiquement? et au moment de la faire reapparaitre remettre les valeur en place.
    As tu regarder dans la JVCL, je connais tres tres mal les composant de cette serie ne les ayant installer que recement mais ils parraissent nombreux et pas mal fait ... enfin de ce que j'en ai vu et lu sur le forum.

    Sinon apres il te reste la solution pas tres propre mais ... bon ... c'est de mettre 2 ListView dans ton projet tu renseignes celle avec toutes les colonnes et au moment de faire disparaitre une colonne tu copie toutes les valeurs dans l'autre ListView sans les données de la colonne "cachée", et tu cache la complete et fait apparaitre l'incomplete.
    Si tu dois rajouter des lignes alors que la ListView est incomplete(colonne cachée) tu met a jour la ListView complete qui mettra automatiquement a jour la ListView "incomplete" (par du code).

    Je sais pas si mes explication sont tres claire ... surement atant que la solution est propre...

    A++
    Qwaz qui sort la tete basse

    Edit
    La nuit porte conseil ^^, peut etre une autre piste serait au niveau de la methode Draw d'empecher le dessin de cette colonne.
    /Edit

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    mmm est-ce que vous sauriez éventuellement comment est-ce que je peux indiquer 0 comme valeur pour le maxwidth sans que cette valeur soit considérée comme nulle et qu'il n'y ai pas de limites ?

    avec width = 0 et maxwidth=0 ça suffirait

  6. #6
    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
    Cette Colonne sert à quoi ? pourquoi ne pas afficher juste ce qui est utile, et stocker les autres données internes je présume comme un ID dans un Pointer (tu stocke dans le Data de l'Item, c'est fait pour !)
    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

  7. #7
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 159
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 159
    Par défaut
    Yep !
    Citation Envoyé par Shredder Voir le message
    hélas non, car avec ça l'utilisateur peut toujours faire réapparaitre la colonne manuellement
    L'objet TListColumn représente une colonne d'une vue liste de style état (aide Delphi), et cet objet possède une propriété AllowResize (dérivée de TCustomHeaderSection), qui serait à mon avis la voie à explorer (AllowResize := False; ), couplée avec Width := 0;
    Mais je ne peux pas en dire plus, mon aide (D7 PE) est cassée quand je clique sur le lien,
    Mes 2 cts,
    --
    jp

    [edit, 1 h après] Je dois pas être doué, ch'suis arrivé à rien avec cette piste...
    Pa contre, je suis arrivé à un truc sympa en utilisant un THeaderControl au-dessus d'une Listview avec .ShowColumnHeaders := False; et cette fois, le HeaderControl1.Sections[lindexquivabien].Width := 0; fonctionne !
    À toi de gérer, en cas de resize des autres "en-têtes", pour répercuter sur les largeurs des colonnes de la listview.
    Ça devrait fonctionner.
    [/edit]

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    ok merci

    et cela est possible tout en gardant la barre visible ??

  9. #9
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 159
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 159
    Par défaut
    Citation Envoyé par Shredder Voir le message
    et cela est possible tout en gardant la barre visible ??
    De quelle barre visible tu parles, là ? Car avec trois semaines de temps de réponse, y a longtemps que j'ai zappé tout ça, hein,
    --
    jp

Discussions similaires

  1. [C#] Comment cacher une colonne d'un GridView ?
    Par dumser1 dans le forum ASP.NET
    Réponses: 15
    Dernier message: 11/12/2009, 15h58
  2. Réponses: 3
    Dernier message: 19/07/2006, 14h28
  3. comment cacher une application de la liste des tâches ?
    Par Laurent Dardenne dans le forum Windows
    Réponses: 2
    Dernier message: 22/12/2004, 17h12
  4. [C#] Cacher une colonne d'une dataGrid
    Par royrremi dans le forum ASP.NET
    Réponses: 2
    Dernier message: 27/05/2004, 16h00

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