我创建了一个表单,其中包含一个GridControl
绑定到BindingSource
实例化的表单。我打算让用户能够同时打开此表单的多个实例,同时能够在单独的视图上应用不同的过滤器。目前这一切都很好。我想做的一件事是取消表单之间的行选择。当我单击 oneGridControl
中的一行时,会在表单的所有其他实例中选择同一行。
有没有办法做到这一点?我不想创建一个副本,BindingSource
因为考虑到数据的复杂性和大小,必须管理对所有源的更新将是一团糟。我可以让多个GridControl
s 绑定到同一个BindingSource
并且能够在它们之间独立选择行吗?
更新:
我在我Form
的构造函数中调用这个方法:
public virtual void UpdateDataSource()
{
if (_dataFeatures != CurrentInspectionFile.BoundFeatureList)
{
gridControl1.BeginUpdate();
_dataFeatures = CurrentInspectionFile.BoundFeatureList;
DetachEventHandlers();
AttachEventHandlers();
gridControl1.EndUpdate();
}
SetFeatureDataBindings();
gridControl1.DataSource = _dataFeatures;
UpdateLookupLists();
UpdateGridColumns();
}
_dataFeatures
设置为一个BindingSource
对象,该对象是该属性的 getter 中的构造函数BoundFeatureList
。每Feature
一个本身都是一个非常复杂的对象。
谢谢