C # listView,如何将项目添加到第2、3和4列等?

为了在我的 listView控件(Winform)中向列1添加项,我使用的是 listView1.Items.Add,这个工作很好,但是我如何向列2和列3添加项呢?

393658 次浏览

有几种方法可以做到这一点,但这里有一个解决方案(4列)。

string[] row1 = { "s1", "s2", "s3" };
listView1.Items.Add("Column1Text").SubItems.AddRange(row1);

And a more verbose way is here:

ListViewItem item1 = new ListViewItem("Something");
item1.SubItems.Add("SubItem1a");
item1.SubItems.Add("SubItem1b");
item1.SubItems.Add("SubItem1c");


ListViewItem item2 = new ListViewItem("Something2");
item2.SubItems.Add("SubItem2a");
item2.SubItems.Add("SubItem2b");
item2.SubItems.Add("SubItem2c");


ListViewItem item3 = new ListViewItem("Something3");
item3.SubItems.Add("SubItem3a");
item3.SubItems.Add("SubItem3b");
item3.SubItems.Add("SubItem3c");


ListView1.Items.AddRange(new ListViewItem[] {item1,item2,item3});

使用 ListViewSubItem-参见: MSDN

You can add 物品 / 子项目 to the ListView like:

ListViewItem item = new ListViewItem(new []{"1","2","3","4"});
listView1.Items.Add(item);

但我怀疑你的问题是 视图类型。在设计器中将其设置为 Details 或在代码中执行以下操作:

listView1.View = View.Details;

对于你的问题,可以这样使用:

ListViewItem row = new ListViewItem();
row.SubItems.Add(value.ToString());
listview1.Items.Add(row);
 private void MainTimesheetForm_Load(object sender, EventArgs e)
{
ListViewItem newList = new ListViewItem("1");
newList.SubItems.Add("2");
newList.SubItems.Add(DateTime.Now.ToLongTimeString());
newList.SubItems.Add("3");
newList.SubItems.Add("4");
newList.SubItems.Add("5");
newList.SubItems.Add("6");
listViewTimeSheet.Items.Add(newList);


}