creo que la forma más rápida/más bonito de hacer esto:
Para cada clase tiene string[] obj.ToListViewItem()
método y luego haga lo siguiente:
foreach(var item in personList)
{
listView1.Items.Add(new ListViewItem(item.ToListViewItem()));
}
Aquí es una definición de ejemplo
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()
};
}
}
Como un beneficio adicional que puede tener un método que devuelve static
ColumnHeader[]
lista para la creación de las columnas de vista de lista con
listView1.Columns.AddRange(Person.ListViewHeaders());
probar esto. listView1.Items.Add (new ListViewItem (new [] {"1", "2", "3", "4", "5"})); –