Listview c#而不是listbox

时间:2013-06-19 04:15:51

标签: c# windows forms listview

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

目前我正在使用它:

listStudents = new List<Student>();

foreach (Student s in listStudents)
{
   listbox1.Items.Add(s);
}

但它显示了彼此相邻的4个属性。

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

任何人都可以解释我怎么能这样做?

我尝试add columns收集了listview,但它仍无效......

我也试过了:

listStudents = new List<Student>();

foreach (Student s in listStudents)
{
   listview.Items.Add(s);
}

谁能告诉我我做错了什么?我只想为不同栏目中的每个学生准备4个属性。

2 个答案:

答案 0 :(得分:0)

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

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
    });
}

答案 1 :(得分:0)

            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);
                }

            }