Hallo liebe Community,
wenn man ein Objekt der Klasse ListViewItem erstellt und jenen Konstruktor wählt, welcher ein string-array als Parameter nimmt, und im späteren Verlauf des Programms wieder zu diesem string-array kommen will, wie macht man das?
Beispiel-Code zur Veranschaulichung:
string[] arr = new string[] { "Test", "123", "und so weiter"};
ListViewItem listViewItem = new ListViewItem(arr);
// Versuch an den Inhalt des ListViewItems zu kommen
MessageBox.Show(listViewItem1.Text);
// Ausgabe: 'Test'
Wie komme ich auf das 2. bzw. 3. Element des zuvor erwähnten arrays?
Es geht mir nicht primär um das array, sondern darum, wie ich an den Inhalt des ListViewItems komme
LG Jonas 🙂
Die Daten stehen in SubItems.
und im späteren Verlauf des Programms wieder zu diesem string-array kommen will, wie macht man das?
Völlig anders, wenn man es sauber/richtig machen will.
Logisch arbeitet man nicht auf der UI Ebene, sondern auf Daten-Ebene. Das ganze Konstrukt nennt sich Datenbindung.
Datenbindung - Windows Forms .NET Framework
D.h. Du arbeitest immer auf gebundenen Daten und musst nicht irgendwelche wirren Konvertierungen machen, um an UI Inhalte zu kommen.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Leider unterstützt das ListView
keine Datenbindung (data binding).
Alternative wäre der VirtualMode (bedeutet aber auch etwas mehr UI-Code) oder aber die Verwendung eines DataGridView
(s.a. Vergleich DatagridView - ListView).