如何在C#的listview中的项目下面显示子项?

时间:2013-06-01 01:15:09

标签: c# listview

有没有办法在下面的列表视图中显示项目的子项?我不想将第一列中的项目和后续列中的后续子项目分开,我希望将它们全部放在一个列中,如果有更多项目,我希望每个项目用一行分隔。这样的东西,但在C#。

enter image description here

也许如果不可能将每个项目都作为可扩展列表?

我现在的代码是:

lstEvents.View = View.Details;
lstEvents.ForeColor = Color.Black;
lstEvents.Columns.Add("Events");
ListViewItem item = new ListViewItem("Event name");
item.SubItems.Add("23/04/2012");
item.SubItems.Add("$20000");
item.SubItems.Add("this would be the event description");

我正在使用Windows窗体

2 个答案:

答案 0 :(得分:0)

您可以继承listview并自己完成。

或者,您可以使用.Tag = IndexOfPreviousRow将某些行标记为其上方的行,并跟踪模型中的关系。不过,这有点像黑客。

至于使用.NET listview本地执行,我不相信你可以。

答案 1 :(得分:0)

在平铺视图中,每个“列”在主列下显示为“行”。这将为您提供您所要求的,但可能不是您想要的。

您可以让所有者绘制平铺视图以生成类似这样的内容

Owner drawn Tile view http://objectlistview.sourceforge.net/cs/_images/tileview-ownerdrawn2.png

您可以仅使用普通的ListView来完成所有操作,但ObjectListView project使更多更容易。