我在填充listview的時候,錯把listview.clear()當做listview.item.clear()來使用了,結(jié)果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();//這里本來應(yīng)該是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條經(jīng)驗 獲得超11個贊
listview.clear()與listview.item.clear()的區(qū)別就是使用了listview.item.clear()后,listview控件中仍然保存著listviewitem項的結(jié)構(gòu),即listview有多個列,每列可能對應(yīng)的列標題數(shù)據(jù)等。而當你使用了listview.clear()后,整個listview內(nèi)保存數(shù)據(jù)的結(jié)構(gòu)就沒了。

回首憶惘然
TA貢獻1847條經(jīng)驗 獲得超11個贊
從msdn拷貝的
您可以使用clear從 ListView 控件中移除所有的項和列,而不必從 ListView.ColumnHeaderCollection 和 ListView.ListViewItemCollection 類中調(diào)用各個 Clear 方法。
注意:
Clear 方法不清除為 ListView 控件指定的 Groups。若要清除 Groups,請調(diào)用 ListViewGroupCollection.Clear。
添加回答
舉報
0/150
提交
取消