c# - 如何返回 ListView 项目的集合?

标签 c# winforms listview

很抱歉关于 ListViewItems 的新手问题,但之前从未使用过 ListView,我想做的是从中返回所有 ListViewItems AnimalManager 类回到 UI lsbOverview 控件。采用这种方法的原因是我有一个 Manager 类来处理所有数据并将其返回给 UI 控件。问题是如何将所有项目返回到 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());

最佳答案

你在找这个吗?

// 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());

关于c# - 如何返回 ListView 项目的集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15291941/

相关文章:

c# - 添加数据后如何滚动到 ListView 的末尾 - WPF

c# - 寻找具有一对一唯一依赖关系的数据结构

c# - 如果将窗体大小调整为以前的透明区域,则不再检测窗体上的鼠标事件

android - 如何将自定义 Android ListView ArrayAdapter 中的数据(当它有多个 onClickEventListeners 时)传回其 fragment/Activity

c# - C# 中从 native C++ 继承并将继承类向后传递给 C++

c# - 为什么.NET Framework 中存在两个相同的接口(interface)?

java - ListView中每行的颜色不同,我也想拖动该行,并且每行的背景颜色也要交换。怎么做

c# - 如何在 C# 中创建自定义文件扩展名?

c# - 如何使用YouTube API asp.net禁用评论和评分

c# - 如何将对任意文件的依赖添加到 T4 模板?