2012-05-11 48 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

清除它,然后将列表框重新绑定到数据源