我正在创建一个充当主从编辑器的表单。我在这个表单上有 2 个控件。一个基本上是主项目列表,另一个控件是项目的详细信息。我试图在两个控件中使用相同的 BindingSource 对象,以便在主控件上进行更改时,将更新详细控件。
在我的表格中,我有:
EmployerCollection employerCollection = new EmployerCollection();
employerCollection.GetMulti(null, 0, new SortExpression(EmployerFields.Name | SortOperator.Ascending));
bsEmployers.DataSource = employerCollection;
masterControl.Init(bsEmployers);
detailControl.Init(bsEmpoyers);
在我的 masterControl 中,我有:
public void Init(BindingSource bs)
{
bsEmployers = bs;
}
但是对于我的生活,当我以这种方式传递绑定源时,我无法让我的主控件显示绑定源中的数据。
仅当我删除 bsEmployers = bs 行并按如下方式移动其他逻辑时,我才能使绑定工作:
public void Init(BindingSource bs)
{
EmployerCollection employerCollection = new EmployerCollection();
employerCollection.GetMulti(null, 0, new SortExpression(EmployerFields.Name | SortOperator.Ascending));
bsEmployers.DataSource = employerCollection;
}
有谁知道我不能传递 BindingSource 对象来共享它吗?我尝试在我的控件中调用 RefreshBindings,但它似乎没有任何效果。
谢谢。