8
votes

C # ListView apparaît en blanc avec des groupes

Dans VS2005, en utilisant C #, j'ai une application de formulaires avec une liste de réception. Je peux ajouter des articles à la liste View bien. Cependant, dès que j'essaie de trier ces éléments en groupes, ils n'apparaissent pas. Je sais que les groupes n'apparaissent pas quand ils sont vides, mais j'ai confirmé ces groupes sont pas em> vide. En outre, je am em> paramètre listview.showgroups = true. Si j'ajoute des articles à l'un des groupes, mais pas le second, le groupe "Par défaut" apparaît ... Ce sont les groupes que j'ai ajoutés que je n'apparais pas!

Voici le code que j'utilise : P>

this.listView.View = View.Details;
this.listView.Columns.Add("Column1");
this.listView.Columns[0].Width = this.listView.Width - 20;
this.listView.HeaderStyle = ColumnHeaderStyle.None;
this.listView.Groups.Add(new ListViewGroup("A"));
this.listView.Groups.Add(new ListViewGroup("D"));


foreach(item i in Class.Items)
{
    if (i.Type == Type.A)
        this.listView.Groups[0].Items.Add(i.Name);
    else
        this.listView.Groups[1].Items.Add(i.Name);
}
this.listView.ShowGroups = true;


1 commentaires

+1 pour le tir de l'écran humoristique.


3 Réponses :



7
votes

Si les éléments sont ajoutés à la liste de liste tandis que la valeur showgroups est définie sur FALSE, puis la propriété showgroups est définie ultérieurement sur true, la boîte de liste apparaîtra vide en affichant groupes (mais avec contenu lorsque showgroups est faux).

showgroups doit être vrai lors de la construction de la liste.

Le timing est également important. La liste de liste doit être rendue avant que la propriété showgroups est définie sur false. Je l'ai défini dans ma boîte de dialogue montrant événement.

J'ai découvert cela tout en travaillant dans .NET 4.0.


1 commentaires

Wow merci! Pas très intuitif! On peut s'attendre à ce que la modification des groupes de spectacles lancera une liste de repeindre ...



0
votes

Essayez ce code:

listView.Groups[0].Items.Add(listView.Items.Add("Item 1"));


0 commentaires