C# listview 子项不显示

标签 c# .net winforms

我是 C# 的初学者,我正在尝试创建一个简单的 View ,其中我将数据列在 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);

        }

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

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

简单添加

item.SubItems.Add("test");

listView1.Items[0].SubItems.Add("test");

同样没有效果。

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

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

非常感谢任何帮助。谢谢。

最佳答案

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

listView1.View = View.Details;
listView1.Columns.Add("Client Code");
listView1.Columns.Add("Client Name");

关于C# listview 子项不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54161173/

相关文章:

c# - 调用System.DateTime.Now的速度

c# - Char、Culture 和 IgnoreCase 相等

c# - 即使 CausesValidation 为 false,也检查页面是否有效

c# - 在使用 c# .net 浏览器浏览网页时显示加载

c# - 为什么 WinForms 应用程序默认是 STAThread?

winforms - Fsharp.Core.dll 中的 InvalidOperationException

c# - 如何通过组合而不是继承创建动态对象

c# - 将 Console.Writeline() 语句的最终输出复制到文本文件和数组 c#

c# - 如何通过将 dll 导入引用来在 C#.net for winforms 的工具箱中添加用户控件?

.net - 我们如何在 64 位 Windows 服务器上运行 .NET 32 位应用程序?