我有一个包含两列的表,还有一个按钮,当我单击将文本添加到两列时,我使用的代码就是:
listView1.Items.Add("hi 1");
listView1.Columns.Add("hi 2"); // ERROR
问题是第二列不完整但如果完成了第一列的话。
任何人都可以帮助我吗?
答案 0 :(得分:2)
您应该为ListView中的每一列添加带有项目的子项目数组的ListViewItem
。如果您有两列:
listView1.Items.Add(new ListViewItem(new[] { "hi", "2" }));
答案 1 :(得分:0)
ListView control可以不同地布置它包含的项目。具有Column标题的布局是Details布局。可以使用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");
输出如下:
请记住,不要在每次单击按钮时添加列,而只需添加一次。
如果您有多个列,则第一列之后的每一列都应添加为当前添加的SubItem项的ListViewItem:
// 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");
表格如下:
答案 2 :(得分: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);