ListView Subitem Text ändern

oreon

Grünschnabel
Hi,
ich hab ein ListView mir mehreren Elementen.

FullRowSelect = true
View = Details

Ich möchte jetzt ein spezielles SubItem ändern, das zuändernde SubItem ist immer in der gleichen Column. Dazu öffnet sich ein kleines modales Dialogfenster in dem ich die Änderung eintrage. Diese soll dann danach im ListView zusehen sein.

Rein therotisch sollte der Code so funktionieren. Jedoch wird die Anzeige des ListView nicht aktualisiert, sprich der alte eintrag steht weiterhin dort. Allerdings wird der eintrag im Hintergrund richtig geändert, weil die bei beendigung des programmes ausgeführte Speicherung der ListView in eine XML datei speichert den geänderten Wert.

So genug beschrieben nun zu meinem code:

Code:
if (listView.SelectedItems.Count!=0)
{
	DialogResult objDR;
	rename_artist dlgChangeCaption = new rename_artist();

	objDR = dlgChangeCaption.ShowDialog();

	if (objDR == DialogResult.OK)
	{
		if (dlgChangeCaption.Caption=="")
		{
			MessageBox.Show(dlgChangeCaption.Caption);
			return;
		}

		MessageBox.Show(dlgChangeCaption.Caption);
		this.listView.SelectedItems[0].SubItems[1].Text = dlgChangeCaption.Caption;
		//this.listView.Refresh(); // <----- Ändert nichts am Tatbestand
	}
}

Ich hoffe ihr könnt mir helfen

So long Oreon

EDIT: PS. Die selbe Prozedur funktioniert einwandfrei wenn ich nicht SubItems[1] benutze sondern SubItems[0]. Das ist irgendwie merkwürdig
 
Zuletzt bearbeitet:
Zurück