2014-03-13 62 views
1

我有两列的表,和一个按钮,当我点击文本添加到两列,我使用的代码是这样的:添加文本到列在列表视图中的C#

listView1.Items.Add("hi 1"); 
    listView1.Columns.Add("hi 2"); // ERROR 

问题在于第二列不完整,但如果第一部分正确完成。

任何人都可以帮助我吗?

+2

我已经读了你的问题两次,并没有明白任何东西。 *你点击添加文本到两列*是什么意思?什么是*首先是一切*?什么是*正确* *?什么是*不完整的列*?你也没有指定错误,你有 –

+0

对我的英语感到抱歉,因为我是西班牙语,我试图做的仅仅是:将项目添加到具有两列的表格 – user3015248

+0

您可能还要设置View属性ListView的详细信息 – pasty

回答

1

您应该添加ListViewItem与ListView中每列的子项的数组。如果你有两列:

listView1.Items.Add(new ListViewItem(new[] { "hi", "2" })); 
+1

不错,感谢Sergey的帮助。 – user3015248

0

ListView control可以以不同的方式布置其包含的项目。具有列标题的布局是“详细信息”布局。它可以使用ListView类的View属性进行设置。

还需要第一添加列,然后添加的项目,让系统知道如何以及在哪里放物品。

一个例子:

var lv = new ListView(); 
    // set layout with column headers 
    lv.View = View.Details; 
    // add one column 
    lv.Columns.Add("A"); 
    // add two items to column A 
    lv.Items.Add("Item 1"); 
    lv.Items.Add("Item 2"); 

输出看起来是这样的:

enter image description here

请记住不添加每列的按钮被点击一次,但只有一次。

如果你有一个以上的列,则每一行的第一个之后,应该作为当前加入ListViewItem项的SubItem

// add two column 
    lv.Columns.Add("A"); 
    lv.Columns.Add("B"); 
    // add one item to column A and B 
    var lvi = lv.Items.Add("Item 1"); 
    lvi.SubItems.Add("SubItem 1"); 
    // add once again one row to column A and B 
    lvi = lv.Items.Add("Item 2"); 
    lvi.SubItems.Add("SubItem 2"); 

的形式如下:

enter image description here

+0

这是我不明白,列表视图,并把它从工具箱中详细创建,并且我寻求的所有答案都与您的答案相同,我不能使用已经相信的表名listView1菜单工具? – user3015248

+0

@ user3015248看到我的回答 –

0
MyList.ForEach(name => listView1.Columns.Add(name)); 

试试这个或

 ColumnHeader header = new ColumnHeader(); 
     header.Text = "gkgag"; 
     header.Width = 100; 
     header.TextAlign = HorizontalAlignment.Center; 
     listView1.Columns.Add(header);