Per aggiungere elementi alla colonna 1 nel mio listViewcontrol ( Winform) che sto utilizzando listView1.Items.Add, funziona bene ma come aggiungo elementi alle colonne 2 e 3, ecc.?
Per aggiungere elementi alla colonna 1 nel mio listViewcontrol ( Winform) che sto utilizzando listView1.Items.Add, funziona bene ma come aggiungo elementi alle colonne 2 e 3, ecc.?
Risposte:
Esistono diversi modi per farlo, ma ecco una soluzione (per 4 colonne).
string[] row1 = { "s1", "s2", "s3" };
listView1.Items.Add("Column1Text").SubItems.AddRange(row1);
E un modo più dettagliato è qui:
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});
Puoi aggiungere elementi / sotto-elementi a ListView come:
ListViewItem item = new ListViewItem(new []{"1","2","3","4"});
listView1.Items.Add(item);
Ma sospetto che il tuo problema sia con il tipo di visualizzazione . Impostalo nella finestra di progettazione su Dettagli o esegui le seguenti operazioni nel codice:
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);
}
Ecco la documentazione di msdn sull'oggetto listview e sull'oggetto 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
Consiglio vivamente di dedicare almeno del tempo a sfogliare la documentazione su tutti gli oggetti che usi dal framework .net. Sebbene la documentazione possa essere piuttosto scarsa a volte, è comunque inestimabile soprattutto quando ti imbatti in situazioni come questa.
Ma come ha detto James Atkinson, si tratta semplicemente di aggiungere elementi secondari a un elemento listview in questo modo:
ListViewItem i = new ListViewItem("column1");
i.SubItems.Add("column2");
i.SubItems.Add("column3");
Una linea che ho creato e funziona:
listView1.Items.Add(new ListViewItem { ImageIndex = 0, Text = randomArray["maintext"], SubItems = { randomArray["columntext2"], randomArray["columntext3"] } });
Usa ListViewSubItem - Vedi: MSDN