Question

J'essaie d'obtenir la valeur de certains ListViewSubItems, mais je n'ai aucune idée des valeurs qu'il utilise pour ses clés. J'ai un code simple:

    protected override void OnItemDrag(ItemDragEventArgs e)
    {
        base.OnItemDrag(e);            
        ListViewItem item = e.Item as ListViewItem;
        string val = item.SubItems[???].ToString(); 
    }       

Le ??? la partie est où j'ai un problème. Je n'arrive pas à comprendre quelles sont les clés. J'ai essayé les noms de colonne du ListView sans succès. Je voudrais utiliser cette méthode au lieu d'utiliser des index numériques.

Était-ce utile?

La solution

La clé du ListViewSubItem est la propriété Name comme décrit ici .

Définir le nom égal au nom de la colonne vous permettrait d'indexer dans les sous-éléments par le nom de la colonne.

Et du code à titre d'exemple

ListViewItem myListViewItem = new ListViewItem ();

ListViewItem.ListViewSubItem myListViewSubItem = new ListViewItem.ListViewSubItem ();

myListViewSubItem.Text = "Ceci sera affiché"

myListViewSubItem.Name = " ma clé " ;;
myListViewItem.SubItems.Add (myListViewSubItem);
ListViewItem.ListViewSubItem subItem = myListViewItem.SubItems [" ma clé "]];

Autres conseils

Vous pouvez uniquement utiliser l'index de colonne pour ajouter des sous-éléments, mais vous pouvez en faciliter la lecture en créant une énumération contenant l'index de chacune de vos colonnes.

Les sous-éléments ne sont classés que par index de colonne, malheureusement. Donc, vous devez y accéder comme:

protected override void OnItemDrag(ItemDragEventArgs e)
{
    base.OnItemDrag(e);            
    ListViewItem item = e.Item as ListViewItem;
    string val = item.SubItems[0].ToString(); 
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top