Comment masquer ListView ColumnHeader?
J'ai du mal à comprendre le contrôle correct à utiliser pour une liste de prédéfinis emplois dans la forme. J'ai actuellement un ListBoxControl dans le Prédéfinies Nom de groupe qui liste tous les prédéfinis des emplois pour un service maritime de la boutique (c'est à dire le changement d'huile, tune up, etc...). Ensuite, en fonction de l'élément (c'est à dire le nom de la tâche) qui est sélectionné dans ma ListBox, j'ai besoin d'afficher les éléments qui correspondent à ce travail. Par exemple, si le changement d'huile est la tâche sélectionnée j'ai besoin de montrer à 4 litres d'huile, 1 filtre à huile, du travail, etc...et ainsi de suite.
Actuellement, lorsque je charge les données d'un formulaire j'ai un DAO qui permet de récupérer l'ensemble de mes travaux à partir de la base de données en utilisant LINQ to SQL. Puis-je effectuer une itération sur les résultats et de mettre les noms dans la zone de liste. Le problème que je rencontre est qu'il n'y a pas de balise pour la zone de liste des articles comme il y en a pour éléments ListView. Donc, chaque fois que l'utilisateur sélectionne un élément dans la zone de liste, je dois effectuer une autre requête LINQ pour obtenir le travail à partir de la base de données à nouveau afin que je puisse afficher ses éléments correspondants. Si je pouvais utiliser un ListView et masquer l'en-tête de colonne j'ai pu mettre la totalité de l'emploi sur l'étiquette, de sorte que chaque fois que l'utilisateur sélectionne un élément nouveau, j'aurais accès à tous les détails sans avoir à faire un autre appel à la base de données. Est-il possible que je peux cacher la colonne d'en-tête d'une liste sans cacher la totalité de la colonne?
source d'informationauteur Grasshopper
Vous devez vous connecter pour publier un commentaire.
Vous pouvez définir la
HeaderStyle
membre de laListView
àNone
.listView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
La caisse de la ListView HeaderStyle de la propriété. Il a les options suivantes:
À partir de MSDN:
La HeaderStyle propriété permet de spécifier si les en-têtes de colonne sont visibles ou, si elles sont visibles, qu'ils fonctionnent comme les boutons cliquables. Si le HeaderStyle propriété est définie à ColumnHeaderStyle.Aucun, les en-têtes de colonne ne sont pas affichés, même si les items et sous-items de la liste de contrôle sont toujours disposés en colonnes
Vous pouvez également créer des objets simples comme
ListItem
qui a deux poperties:Text
(string) etTag
(objet). Puis de mettre en œuvre ListItem.ToString() et vous pouvez les utiliser dans laListBox
.Vous pouvez aussi consulter les Mieux ListView Express composant, qui est gratuit et permet d'afficher des articles dans Détails point de vue, sans colonnes. L'avantage par rapport à ListBox et ListView est un natif de look et de nombreuses fonctionnalités supplémentaires.
Moyen facile est d'utiliser le
ColumnWidthChanging
événementJ'ai trouvé que si vous savez pour un fait que vous n'êtes pas d'afficher les en-têtes, il peut être préférable de définir la HeaderStyle propriété à Aucun, comme Rajesh mentionne ci-dessus.
Lors de la configuration dans le .CS lorsque l'écran de chargement initialement les en-têtes sont affichées jusqu'à ce que l'écran est parfaitement rendu.