我有一个列表框,数据绑定到数据库并显示firstNames,我有一个按钮,打开一个新表单,允许用户编辑所述firstNames,然后将更改保存回数据库(工作正常) 。我的问题是如何更新或刷新第一个表单中的列表框,以便显示所做的更改(截至目前我必须关闭应用程序并重新启动它以显示所做的更改)?
注意: 我正在使用Microsoft Visual Studio 2010并使用Windows窗体创建表单。
答案 0 :(得分:0)
通常,您需要将数据库中的数据重新加载到数据绑定源中。如果source未实现IBindingList,则需要手动刷新组件:
// BindingContext - the property of ContainerControl (Form or UserControl)
var currencyManager = (CurrencyManager)BindingContext[listBox.DataSource, listBox.DataMember];
currencyManager.Refresh();
答案 1 :(得分:0)
我没试过这个......但是
“但是,您可以通过在绑定控件的BindingContext类的实例上调用SuspendBinding和ResumeBinding方法来强制更新组合框。”
http://msdn.microsoft.com/en-us/library/aa984341%28VS.71%29.aspx
(对于ListBox应该是相同的)
答案 2 :(得分:0)
在Form_Load中写入选择查询,然后在需要刷新表单的地方调用,例如:
form_load(Object sender,Event_args e)
{
select Query to display on Loading form
}
add_click(Object sender,Event_args e)
{
form_load(sender,e)
}