Was macht ein ListViewSubtemCollection für seine Schlüssel verwenden?
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.
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();
}