如何在C#winform中将列表项添加到ListView?

viv*_*una 2 c# listview winforms

我有一个对象列表.我想将这些项添加到ListView.我试图逐行添加每个列表项但格式非常糟糕,它应该是正确的表类型格式.

        List<string> lst = new List<string>();
        lst.Add("John dsfsfsdfs " + "1" + 100);
        lst.Add("Smith sdfsdfsdfs" + "2" + 120);
        lst.Add("Cait dsffffffffffffffffffffff" + "3" +  97);
        lst.Add("Irene" + "4" + 100);
        lst.Add("Ben"     + "5" + 100);
        lst.Add("Deniel           jjhkh " +  "6" + 88);

        foreach(string pl in lst)
        {
            listView1.Items.Add(pl);

        }
Run Code Online (Sandbox Code Playgroud)

项目不可见,应采用适当的格式.

表格格式

Ark*_*eja 9

要使其成为多列:

1)将ListView设置为Details模式:

    listView1.View = View.Details;
Run Code Online (Sandbox Code Playgroud)

2)设置你的三列:

    listView1.Columns.Add("Column1Name");
    listView1.Columns.Add("Column2Name");
    listView1.Columns.Add("Column3Name");
Run Code Online (Sandbox Code Playgroud)

3)添加你的物品:

    listView1.Items.Add(new ListViewItem(new string[]{"John dsfsfsdfs ", "1" , "100"}));
Run Code Online (Sandbox Code Playgroud)

4)为了使其更具可见度,请尝试:

listView1.GridLines = true;
Run Code Online (Sandbox Code Playgroud)

5)隐藏列标题:

 listView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
Run Code Online (Sandbox Code Playgroud)


Ste*_*uer 6

您可以ListViewItem直接使用子项目(->“表格”)创建项目,而不是仅将字符串添加到 ListView:

listView1.Items.Add(new ListViewItem (new[]{"John dsfsfsdfs", "1", "100"}));
listView1.Items.Add(new ListViewItem (new[]{"Smith sdfsdfsdfs", "2", "120"}));
listView1.Items.Add(new ListViewItem (new[]{"Cait dsffffffffffffffffffffff", "3", "97"}));
listView1.Items.Add(new ListViewItem (new[]{"Irene", "4", "100"}));
listView1.Items.Add(new ListViewItem (new[]{"Ben", "5", "100"}));
listView1.Items.Add(new ListViewItem (new[]{"Deniel           jjhkh", "6", "88"}));
Run Code Online (Sandbox Code Playgroud)