如何在C#中刷新Data Bound的表单?

时间:2011-06-19 22:06:47

标签: c# database winforms data-binding refresh

我有一个列表框,数据绑定到数据库并显示firstNames,我有一个按钮,打开一个新表单,允许用户编辑所述firstNames,然后将更改保存回数据库(工作正常) 。我的问题是如何更新或刷新第一个表单中的列表框,以便显示所做的更改(截至目前我必须关闭应用程序并重新启动它以显示所做的更改)?

注意: 我正在使用Microsoft Visual Studio 2010并使用Windows窗体创建表单。

3 个答案:

答案 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)
}