我有一些控件绑定到BindingSource的表单。当用户单击“保存”按钮时,我将数据保存到数据库。绑定控件,以便我不必手动检测更改。
除非用户关闭表单然后重新打开表单,否则一切都按预期工作。看起来BindingSource没有在第二次/后续时间初始化。因为下面的调用在重新打开时返回null(在设置数据源之后)
Supplier currentSupplier = (Supplier)supplierBindingSource.Current;
有趣的是,数据会显示出来。所以它成功设置了数据源。
但是,如果我处理BindingSource并在表单关闭事件上将其设置为null,那么当第二次显示表单时,它会在上面的相同代码上抛出NullExceptionReference。而这次构造函数中的代码celow不起作用:
supplierBindingSource.DataSource = qry;
表格在Mdi容器上打开。我尝试打开一个单独的表单,也作为Dialog。但似乎没有任何效果。