listview.item.clear()与listview.clear()的区别

来源:百度知道 编辑:UC知道 时间:2024/06/15 22:50:56
我在填充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);

从msdn拷贝的
您可以使用clear从 ListView 控件中移除所有的项和列,而不必从 ListView.ColumnHeaderCollection 和 ListView.ListViewItemCollection 类中调用各个 Clear 方法。

注意:
Clear 方法不清除为 ListView 控件指定的 Groups。若要清除 Groups,请调用 ListViewGroupCollection.Clear。

listview.clear()与listview.item.clear()的区别就是使用了listview.item.clear()后,listview控件中仍然保存着listviewitem项的结构,即listview有多个列,每列可能对应的列标题数据等。而当你使用了listview.clear()后,整个listview内保存数据的结构就没了。

从msdn拷贝的
您可以使用clear从 ListView 控件中移除所有的项和列,而不必从 ListView.ColumnHeaderCollection 和 ListView.ListViewItemCollection 类中调用各个 Clear 方法。

注意:
Clear 方法不清除为 ListView 控件指定的 Groups。若要清除 Groups,请调用 ListViewGroupCollection.Clear。