我正在尝试使Winforms组合框在将新行写入数据库时​​自动刷新。

POCO EF类别:

public class BaseSweep
{
    public int BaseSweepId { get; set; }
    //stuff removed for clarity
}


我通过这样的BindingList绑定到数据:

public BindingList<BaseSweep> TopSweeps()
{
    LocalDbContext.BaseSweep.Load();
    return LocalDbContext.BaseSweep.Local.ToBindingList();

}

private void BindSweepList() //called in Form_Load
{
    comboBoxSweepIds.DataSource = _dataAccess.TopSweeps();
    comboBoxSweepIds.DisplayMember = "BaseSweepId";
    comboBoxSweepIds.ValueMember = "BaseSweepId";
}


这对于初始绑定工作正常,并在表中显示当前ID。随着新行添加到表中,LocalDbContext.BaseSweep.Local中的计数将按预期增加。但是,comboBoxSweepIds从不更新。有什么想法我做错了吗?

最佳答案

您需要触发一个事件,并在每次添加一行时调用绑定。

关于c# - 首先使用Winforms和EF 4.1代码进行数据绑定(bind),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6680853/

10-11 17:08