myślę najszybszy/najwspanialszej sposób to zrobić:
Dla każdej klasy mają string[] obj.ToListViewItem()
metodę, a następnie to zrobić:
foreach(var item in personList)
{
listView1.Items.Add(new ListViewItem(item.ToListViewItem()));
}
Tutaj to przykładowa definicja
public class Person
{
public string Name { get; set; }
public string Address { get; set; }
public DateTime DOB { get; set; }
public uint ID { get; set; }
public string[] ToListViewItem()
{
return new string[] {
ID.ToString("000000"),
Name,
Address,
DOB.ToShortDateString()
};
}
}
Jako dodatkowy bonus można mieć static
metodę, która zwraca ColumnHeader[]
listy do utworzenia kolumny listview z
listView1.Columns.AddRange(Person.ListViewHeaders());
spróbować. listView1.Items.Add (new ListViewItem (new [] {"1", "2", "3", "4", "5"})); –