c#中的Listview,而不是listbox

本文关键字:listbox 中的 Listview | 更新日期: 2023-09-27 18:18:54

我有一个List<Student>,每个学生有4个属性。

现在我用这个:

listStudents = new List<Student>();
foreach (Student s in listStudents)
{
   listbox1.Items.Add(s);
}

但是它显示了相邻的4个属性

我做了一些研究来对列中的属性进行排序,并找到了listview

谁能告诉我怎么做?

我试图将add columns收集到listview,但它仍然不起作用…

I tried also it:

listStudents = new List<Student>();
foreach (Student s in listStudents)
{
   listview.Items.Add(s);
}
谁能告诉我我做错了什么?我只是想在不同的列中为每个学生的4个属性。

c#中的Listview,而不是listbox

首先设置列名(您可以使用图形设计器执行此操作):

listView1.Columns.Add("col 1");
listView1.Columns.Add("col 2");
listView1.Columns.Add("col 3");
listView1.Columns.Add("col 4");

,然后添加行(我假设这里您的属性是字符串):

foreach(Student s in listStudents){
    listView1.Items.Add(new string[]{
        s.Property1, s.Property2, s.Property3, s.Property4
    });
}
            List<Student> StudentsList = new List<Student>();
            Student StuObj = new Student();
            StuObj.ID = 1;
            StuObj.age = 23;
            StuObj.name = "ROCK";
            StudentsList.Add(StuObj);
            foreach (Student s in StudentsList)
            {
                string[] array = { s.ID.ToString(), s.age.ToString(), s.name.ToString()};
                var items = listView1.Items;
                foreach (var value in array)
                {
                    items.Add(value);
                }
            }