winforms listview没有在detailsview中显示项目

Mic*_*hel 12 c# listview winforms

我被困了....

这个我的代码将项目添加到我的listview:

ListViewItem item = new ListViewItem(ProjectDomainName);
item.Tag = relatedProject.ProjectId;
lvwSelectedProjects.Items.Add(item);
Run Code Online (Sandbox Code Playgroud)

当我选择'View.List'作为viewmode时,我会看到所有项目.

当我选择'View.Details'(这是我想要的设置)时,我看到......没有.好吧,没什么,我得到一个垂直滚动条,但没有项目.我也可以滚动,但没有项目....

我还在listview中添加了一个列(没有更改添加项代码),但这也没有用

我一定是在忽视什么?

Jam*_*ton 9

这段代码适合我:

using System;
using System.Windows.Forms;

public class LVTest : Form {
    public LVTest() {
        ListView lv = new ListView();
        lv.Columns.Add("Header", 100);
        lv.Columns.Add("Details", 100);
        lv.Dock = DockStyle.Fill;
        lv.Items.Add(new ListViewItem(new string[] { "Alpha", "Some details" }));
        lv.Items.Add(new ListViewItem(new string[] { "Bravo", "More details" }));
        lv.View = View.Details;
        Controls.Add(lv);
    }
}

public static class Program {
    [STAThread] public static void Main() {
        Application.Run(new LVTest());
    }
}
Run Code Online (Sandbox Code Playgroud)

在空项目中亲自尝试此代码.然后,专注于使其适应您的应用程序:比较您的程序与此代码的不同之处,并努力将其更改为更接近我的程序.如果你的程序失去了功能,那就没关系了.只是尝试让基本版本正常工作.然后,逐位添加功能,这样您就可以确保程序的每一步都能正常工作.

如果您仍然卡住,请从项目中发布更多代码,我们可能会更好地了解您遇到问题的原因.

  • 谢谢,这指出了我正确的方向.问题是什么?我每次使用新数据重新加载listview,并且我执行了lvw.Clear()来清除列表,但这也清除了列,因此没有项目以详细信息模式显示.它必须是lvw.Items.Clear().... (17认同)
  • 谢谢你的解决方案.使用lv.Items.Clear()而不是lv.Clear() (5认同)