Listview-Problem

july

Erfahrenes Mitglied
Hallo zusammen,

ich hab gerade ein total triviales Programm geschrieben: Ein Listview und 3 Buttons. Bei dem Klick eines Buttons soll das Listview geleert werden und mit neuen Items gefüllt werden. Leider funktionniert es nicht so. Wenn ich auf den Button drücke wird zwar Listview geleert, aber neue Items kommen nicht hinzu.

C#:
        private void button1_Click(object sender, EventArgs e)
        {
            listView1.Clear();
            ListViewItem lvi1 = new ListViewItem("1.");
            lvi1.SubItems.Add("123");
            lvi1.SubItems.Add("1");
            lvi1.SubItems.Add("7");
            lvi1.SubItems.Add("23");
            lvi1.SubItems.Add("65");
            lvi1.SubItems.Add("Es brennt!");
            listView1.Items.Add(lvi1);
            ListViewItem lvi2 = new ListViewItem("12.");
            lvi2.SubItems.Add("123");
            lvi2.SubItems.Add("1");
            lvi2.SubItems.Add("9");
            lvi2.SubItems.Add("34");
            lvi2.SubItems.Add("4");
            lvi2.SubItems.Add("Es brennt!");
            listView1.Items.Add(lvi2);
            listView1.Show();
        }
 private void button2_Click(object sender, EventArgs e)
        {
            listView1.Clear();
            ListViewItem lvi1 = new ListViewItem("4.");
            lvi1.SubItems.Add("123");
            lvi1.SubItems.Add("2");
            lvi1.SubItems.Add("7");
            lvi1.SubItems.Add("23");
            lvi1.SubItems.Add("65");
            lvi1.SubItems.Add("Kabelbruch");
            listView1.Items.Add(lvi1);
            ListViewItem lvi2 = new ListViewItem("5.");
            lvi2.SubItems.Add("123");
            lvi2.SubItems.Add("2");
            lvi2.SubItems.Add("9");
            lvi2.SubItems.Add("34");
            lvi2.SubItems.Add("4");
            lvi2.SubItems.Add("Kurzschluss");
            listView1.Items.Add(lvi2);
            listView1.Update();           
        }
      private void button3_Click(object sender, EventArgs e)
        {
            ListViewItem lvi1 = new ListViewItem("2.");
            lvi1.SubItems.Add("123");
            lvi1.SubItems.Add("3");
            lvi1.SubItems.Add("2");
            lvi1.SubItems.Add("21");
            lvi1.SubItems.Add("15");
            lvi1.SubItems.Add("EG.05");
           listView1.Items.Add(lvi1);
            listView1.Update();
        }

Das ist auch schon fast der gesamte Quellcode. Habt ihr eine Idee warum es so nicht funktionniert?

Viele Grüße,
July
 
Zuletzt bearbeitet von einem Moderator:

MCoder

Erfahrenes Mitglied
Hallo,

beim Button3 fehlt " listView1.Items.Add()". Die anderen beiden Buttons sollten aber funktionieren.

Gruß
MCoder
 

july

Erfahrenes Mitglied
sorry hab die Zeile nur vergessen reinzukopieren. Ist aber alles vorhanden, hab oben korrigiert.
Funktionniert so leider nicht.
 

july

Erfahrenes Mitglied
Fehler gefunden:
C#:
listView1.Clear();
Es muss aber
C#:
listView1.Items.Clear();
sein.
 
Zuletzt bearbeitet von einem Moderator:

Shakie

Erfahrenes Mitglied
Der Unterschied zwischen
C#:
listView1.Clear();
und
C#:
listView1.Items.Clear();
ist übrigens Folgender:
ersteres löscht nicht nur alle Items, sondern auch alle Spalten. Fügt man dann neue Items hinzu, dann werden sie nicht angezeigt, weil es keine Spalten gibt. Letzteres entfernt nur die Items, behält die Spalten aber bei.
 
Zuletzt bearbeitet von einem Moderator: