C# listview子项不显示

Ary*_*ati 4 .net c# winforms

我是 C# 初学者,我正在尝试创建一个简单的视图,其中我将数据列为ListView. 我已经创建了列,并将子项添加到两个不同的ListViewItems. 然而,当编译时仅显示主项目,则SubItems出现“否”。

listView1.Columns.Add("Client Code");
listView1.Columns.Add("Client Name");


 ListViewItem item = new ListViewItem("Client Code");


        ListViewItem item2 = new ListViewItem("Client Name");

        listView1.Items.AddRange(new ListViewItem[] {item, item2});

        foreach(string clientCode in clientCodes) 
        //clientCode is a list of Strings initialized earlier in the code
        {

        listView1.Items[0].SubItems.Add(code);

        }
Run Code Online (Sandbox Code Playgroud)

我也尝试过以下方法,但没有成功:

ListViewItem item = new ListViewItem("Client Code");

        ListViewItem item2 = new ListViewItem("Client Name");

foreach(string clientCode in clientCodes) 
        //clientCode is a list of Strings initialized earlier in the code
        {

        item.SubItems.Add(code);

        }

        listView1.Items.AddRange(new ListViewItem[] {item, item2});
Run Code Online (Sandbox Code Playgroud)

只需添加

item.SubItems.Add("test");
Run Code Online (Sandbox Code Playgroud)

或者

listView1.Items[0].SubItems.Add("test");
Run Code Online (Sandbox Code Playgroud)

也没有效果。

上面代码的输出是两列,一列包含“客户端代码”,一列包含“客户端名称”,但没有其他数据。

我做错了什么,为什么列中没有显示任何数据?

任何帮助是极大的赞赏。谢谢。

小智 5

在添加项目之前,我们需要将ListViewView属性设置为View.Details,以显示项目,如下所示。

listView1.View = View.Details;
listView1.Columns.Add("Client Code");
listView1.Columns.Add("Client Name");
Run Code Online (Sandbox Code Playgroud)