it-swarm.com.de

C # listView, wie füge ich Elemente zu den Spalten 2, 3 und 4 usw. hinzu?

So fügen Sie der Spalte 1 in meinem listView-Steuerelement (Winform) Elemente hinzu Ich verwende listView1.Items.Add, das funktioniert einwandfrei, aber wie füge ich den Spalten 2 und 3 usw. Elemente hinzu?

103
Steve

Es gibt mehrere Möglichkeiten, dies zu tun, aber hier ist eine Lösung (für 4 Spalten).

string[] row1 = { "s1", "s2", "s3" };
listView1.Items.Add("Column1Text").SubItems.AddRange(row1);

Und ein ausführlicherer Weg ist hier:

ListViewItem item1 = new ListViewItem("Something");
item1.SubItems.Add("SubItem1a");
item1.SubItems.Add("SubItem1b");
item1.SubItems.Add("SubItem1c");

ListViewItem item2 = new ListViewItem("Something2");
item2.SubItems.Add("SubItem2a");
item2.SubItems.Add("SubItem2b");
item2.SubItems.Add("SubItem2c");

ListViewItem item3 = new ListViewItem("Something3");
item3.SubItems.Add("SubItem3a");
item3.SubItems.Add("SubItem3b");
item3.SubItems.Add("SubItem3c");

ListView1.Items.AddRange(new ListViewItem[] {item1,item2,item3});
128
Inisheer

Sie können der ListView Elemente / nterelemente wie folgt hinzufügen:

ListViewItem item = new ListViewItem(new []{"1","2","3","4"});
listView1.Items.Add(item);

Aber ich vermute, Ihr Problem liegt beim Ansichtstyp . Setzen Sie es im Designer auf Details, oder führen Sie im Code die folgenden Schritte aus:

listView1.View = View.Details;
63
bruno conde
 private void MainTimesheetForm_Load(object sender, EventArgs e)
        {
            ListViewItem newList = new ListViewItem("1");
            newList.SubItems.Add("2");
            newList.SubItems.Add(DateTime.Now.ToLongTimeString());
            newList.SubItems.Add("3");
            newList.SubItems.Add("4");
            newList.SubItems.Add("5");
            newList.SubItems.Add("6");
            listViewTimeSheet.Items.Add(newList);

        }
7
kehinde

Hier ist die MSDN-Dokumentation für das Listview-Objekt und das ListviewItem-Objekt.
http://msdn.Microsoft.com/en-us/library/system.windows.forms.listview.aspx
http://msdn.Microsoft.com/en-us/library/system.windows.forms.listviewitem.aspx

Es wird dringend empfohlen, dass Sie sich mindestens die Zeit nehmen, um die Dokumentation zu Objekten zu überfliegen, die Sie im .net-Framework verwenden. Obwohl die Dokumentation manchmal ziemlich mangelhaft sein kann, ist sie dennoch von unschätzbarem Wert, insbesondere wenn Sie auf Situationen wie diese stoßen.

Aber wie James Atkinson sagte, geht es einfach darum, Unterelemente zu einem Listenelement wie folgt hinzuzufügen:

ListViewItem i = new ListViewItem("column1");
i.SubItems.Add("column2");
i.SubItems.Add("column3");
7
CalvinR

Verwenden Sie für Ihr Problem wie folgt:

ListViewItem row = new ListViewItem(); 
row.SubItems.Add(value.ToString()); 
listview1.Items.Add(row);
4
OneM

Eine Zeile, die ich gemacht habe und es funktioniert:

listView1.Items.Add(new ListViewItem { ImageIndex = 0, Text = randomArray["maintext"], SubItems = { randomArray["columntext2"], randomArray["columntext3"] } });
0
David Rodrigues