Sorry for the newbie question about ListViewItems but had never used ListView before and what I am trying to do is to return all ListViewItems from AnimalManager class back to UI lsbOverview control. Reason to this approach is that I have a Manager class which handles all the data and returns it to UI controls. The question is how do I return all items back to lsboverView ListView?
// declared in AnimalManager class
private static List<Animal> AnimalList { get; set; }
public static ListViewItem DisplayAllAnimals()
{
//Show animals on ListView by proper column
foreach (var animal in AnimalList)
{
ListViewItem item = new ListViewItem(animal.Id); // generated ID
item.SubItems.Add(animal.AnimalSort); // AnimalSort
item.SubItems.Add(animal.Name); //Name
item.SubItems.Add(animal.Age); //Age
item.SubItems.Add(animal.Gender.ToString()); // Animal gender
return item;
}
// how to return all items back to UI ?
}
// Mainform UI class where its used
lsbOverview.Items.Add(AnimalManager.DisplayAllAnimals());
Are you looking for this?
// declared in AnimalManager class
private static List<Animal> AnimalList { get; set; }
public static ListViewItem[] DisplayAllAnimals()
{
//Show animals on ListView by proper column
var listViewItems = new List<ListViewItem>();
foreach (var animal in AnimalList)
{
ListViewItem item = new ListViewItem(animal.Id); // generated ID
item.SubItems.Add(animal.AnimalSort); // AnimalSort
item.SubItems.Add(animal.Name); //Name
item.SubItems.Add(animal.Age); //Age
item.SubItems.Add(animal.Gender.ToString()); // Animal gender
listViewItems.Add(item);
}
return listViewItems.ToArray();
}
// Mainform UI class where its used
lsbOverview.Items.AddRange(AnimalManager.DisplayAllAnimals());
I think building an array of animals, then using AddRange on the listview could do the trick:
public static List<ListViewItem> DisplayAllAnimals()
{
var animals = new List<ListViewItem>();
//Show animals on ListView by proper column
foreach (var animal in AnimalList)
{
ListViewItem item = new ListViewItem(animal.Id); // generated ID
item.SubItems.Add(animal.AnimalSort); // AnimalSort
item.SubItems.Add(animal.Name); //Name
item.SubItems.Add(animal.Age); //Age
item.SubItems.Add(animal.Gender.ToString()); // Animal gender
animals.Add(item);
}
return animals;
}
lsbOverview.Items.AddRange(AnimalManager.DisplayAllAnimals().ToArray());
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With