我在填充listview的时候,错把listview.clear()当做listview.item.clear()来使用了,结果listview中什么都没有了。代码如下:private void acceptorFull(){string sql = "select * from mails where isdeleted=1";FullListview(sql);}private void FullListview(string sql){SqlCommand cmd = new SqlCommand(sql,DBHelper.conn);try{DBHelper.conn.Open();SqlDataReader dr = cmd.ExecuteReader();listView1.Clear();//这里本来应该是listView1.Items.Clear();的while (dr.Read()){int id=(int)dr["id"];MessageBox.Show(id.ToString());ListViewItem lviMail = new ListViewItem(id.ToString());lviMail.Tag = id;listView1.Items.Add(lviMail);lviMail.SubItems.AddRange(new string[] { dr["receiver"].ToString(), dr["acceptor"].ToString(), dr["date"].ToString(), dr["remark"].ToString() });}dr.Close();}
2 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
listview.clear()与listview.item.clear()的区别就是使用了listview.item.clear()后,listview控件中仍然保存着listviewitem项的结构,即listview有多个列,每列可能对应的列标题数据等。而当你使用了listview.clear()后,整个listview内保存数据的结构就没了。
回首忆惘然
TA贡献1847条经验 获得超11个赞
从msdn拷贝的
您可以使用clear从 ListView 控件中移除所有的项和列,而不必从 ListView.ColumnHeaderCollection 和 ListView.ListViewItemCollection 类中调用各个 Clear 方法。
注意:
Clear 方法不清除为 ListView 控件指定的 Groups。若要清除 Groups,请调用 ListViewGroupCollection.Clear。
添加回答
举报
0/150
提交
取消