2012-05-11 49 views
1

我在Google上做了一些搜索,但是找不到有用的方法...請幫助... 所以我有一個顯示數據庫數據的列表框,我的功能允許用戶刪除一個/多個數據一次,當然,我想相應地刷新我的列表框。 我嘗試例如checkedListBox1.Refresh();但沒有工作。請幫幫我。如何刷新C#中的列表框?

private void button1_Click(object sender, EventArgs e) 
     { 

      string item_name = ""; 
      foreach (object itemChecked in checkedListBox1.CheckedItems) 
      { 
       item_name = itemChecked.ToString(); 
       removefromdatabse2(item_name); // a function that update the database 
       MessageBox.Show("successfully deleted"); 
       // checkedListBox1.Refresh(); , which didn't work 

      } 
     } 
+0

「沒有工作」是什麼意思?你期待什麼'Refresh()'做什麼? –

+0

如果用戶選擇刪除x項目 –

+0

,我希望我的列表框中的x項目少於顯示(成功刪除)x此外,您可能還想在完成所有操作後刷新它,例如,在方法結束時。當您還有可能需要做的操作時,刷新沒有任何意義。 – moowiz2020

回答

1

您可以清除其項目的整個列表框並從數據庫中重新填充它,或者找到要刪除的項目並手動刪除它。或者,使用ListBox控件上的「DataSource」屬性並在運行查詢時更新源。

0

你有兩個選擇:

  • ListBox(使用ListBox.SelectedItems屬性來獲取所選項目)刪除選定ListBoxItem實例,並存儲在數據庫中的相應項目。每個ListBoxItem實例應具有一個唯一標識符,該唯一標識符與存儲項目的數據庫表中使用的唯一標識符相匹配。
  • 刪除數據庫中存儲的對應於ListBox中選定項目的項目,清除ListBox並使用存儲在數據庫中的項目重新加載它。
0

清除它,然後將列表框重新綁定到數據源