Aby dodać elementy do kolumny 1 w kontrolce listView
( Winform
), której używam listView1.Items.Add
, działa to dobrze, ale jak dodać elementy do kolumn 2 i 3 itp.?
Aby dodać elementy do kolumny 1 w kontrolce listView
( Winform
), której używam listView1.Items.Add
, działa to dobrze, ale jak dodać elementy do kolumn 2 i 3 itp.?
Odpowiedzi:
Można to zrobić na kilka sposobów, ale tutaj jest jedno rozwiązanie (na 4 kolumny).
string[] row1 = { "s1", "s2", "s3" };
listView1.Items.Add("Column1Text").SubItems.AddRange(row1);
Bardziej szczegółowy sposób jest tutaj:
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});
Możesz dodawać elementy / elementy podrzędne do ListView, takie jak:
ListViewItem item = new ListViewItem(new []{"1","2","3","4"});
listView1.Items.Add(item);
Ale podejrzewam, że problem dotyczy typu widoku . Ustaw go w projektancie na Szczegóły lub wykonaj następujące czynności w kodzie:
listView1.View = View.Details;
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);
}
Oto dokumentacja msdn dotycząca obiektu listview i obiektu listviewItem.
http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.aspx
http://msdn.microsoft.com/en-us/library/system.windows.forms.listviewitem.aspx
Gorąco polecam przynajmniej poświęcić trochę czasu na przejrzenie dokumentacji wszystkich obiektów, których używasz z frameworka .net. Chociaż dokumentacja może być czasami dość uboga, nadal jest nieoceniona, zwłaszcza gdy napotkasz takie sytuacje.
Ale jak powiedział James Atkinson, jest to po prostu kwestia dodania elementów podrzędnych do elementu widoku listy w następujący sposób:
ListViewItem i = new ListViewItem("column1");
i.SubItems.Add("column2");
i.SubItems.Add("column3");
Jedna linia, którą stworzyłem i działa:
listView1.Items.Add(new ListViewItem { ImageIndex = 0, Text = randomArray["maintext"], SubItems = { randomArray["columntext2"], randomArray["columntext3"] } });
Użyj ListViewSubItem - zobacz: MSDN