Frage

Ich versuche, den Wert einiger ListViewSubItems zu bekommen, aber ich habe keine Ahnung, was es für seine Schlüssel-Werte verwendet. Ich habe einigen einfachen Code:

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

Das ??? Teil ist, wo ich ein Problem habe. Ich kann nicht herausfinden, was die Schlüssel. Ich habe die Spaltennamen der Listview ohne Glück versucht. Ich möchte diese Methode verwenden, anstatt numerische Indizes zu verwenden.

War es hilfreich?

Lösung

Der Schlüssel des ListViewSubItem ist die Name Eigenschaft wie hier .

Festlegen des Namens gleich dem Spaltennamen, möchten Sie Index in die SubItems durch den Namen der Spalte ermöglichen.

Und einiger Code als Beispiel

ListViewItem myListViewItem = new ListViewItem();
ListViewItem.ListViewSubItem myListViewSubItem = new ListViewItem.ListViewSubItem();
myListViewSubItem.Text = "This will be displayed";
myListViewSubItem.Name = "my key";
myListViewItem.SubItems.Add(myListViewSubItem);
ListViewItem.ListViewSubItem subItem = myListViewItem.SubItems["my key"];

Andere Tipps

Sie können nur den Spaltenindex verwenden Subitems hinzufügen, aber Sie können es einfacher machen, indem sie eine Aufzählung enthält den Index jedes Ihrer Spalten zu lesen.

Unteroptionen sind nur durch Spaltenindex unluckily bestellt. So müßte man auf sie zugreifen wie:

protected override void OnItemDrag(ItemDragEventArgs e)
{
    base.OnItemDrag(e);            
    ListViewItem item = e.Item as ListViewItem;
    string val = item.SubItems[0].ToString(); 
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top