关于ListViewItem的SubItems默认存在一条空白子项
如题,纳闷为什么有空白子项并且Clear也没用,所以搜了下,传送门https://www.cnblogs.com/gc2013/p/4103910.html
使用的是ListView的Details视图,提一下。
由于博主分析了很多我没细看,因为我只是想解决这个简单的问题,类似于直接把第一项给移除掉。博主这句话我尝试了发现不能解决我的问题,原文"终于让我发现,只要改变ListViewItem.Text的值,后面两列的内容就能够显示了,于是初步解决方案是改变ListViewItem.Text的赋值顺序,把它放在所有SubItem.Text赋值以后再赋值。"
但是在尝试时我有了新的理解:默认存在的空白子项就是DataGridView的首列。这句话只是为了阐明这个子项。具体做法是为ListView添加第一列,即: listView1.Columns.Add("行号", 20);此语句的作用为给listView1添加一列叫做"行号",宽度为20的列。由此,该空白子项可被利用,即将listViewItem.SubItems[0].Text赋值为实际行号;也可指定为空:listView1.Columns.Add("", 20); 这就和DataGridView的格式一样了。本质上,ListViewItem item = new ListViewItem("0"); 与 ListViewItem item = new ListViewItem(); item.SubItems[0].Text = "0"等效。
--I love this guy.