繁体   English   中英

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

[英]C# listView, how do I add items to columns 2, 3 and 4 etc?

要在我的listView控件( Winform )中向第1列添加项目,我正在使用listView1.Items.Add ,这可以正常工作,但如何将项目添加到第2列和第3列等?

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

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

这里有一个更冗长的方式:

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});

您可以将项目 / 子项添加到ListView,如:

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

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

listView1.View = View.Details;
 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);

        }

这是listview对象和listviewItem对象上的msdn文档。
http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.aspx
http://msdn.microsoft.com/en-us/library/system.windows.forms.listviewitem.aspx

我强烈建议您至少花时间浏览.net框架中使用的任何对象的文档。 虽然文档在某些时候可能非常差,但它仍然非常宝贵,特别是在遇到这样的情况时。

但正如詹姆斯·阿特金森所说,这只是将一个子项目添加到listviewitem中的问题:

ListViewItem i = new ListViewItem("column1");
i.SubItems.Add("column2");
i.SubItems.Add("column3");

对于您的问题使用如下:

ListViewItem row = new ListViewItem(); 
row.SubItems.Add(value.ToString()); 
listview1.Items.Add(row);

我制作的一条线,它有效:

listView1.Items.Add(new ListViewItem { ImageIndex = 0, Text = randomArray["maintext"], SubItems = { randomArray["columntext2"], randomArray["columntext3"] } });

使用ListViewSubItem - 请参阅: MSDN

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM