0

我创建了一个表单,其中包含一个GridControl绑定到BindingSource实例化的表单。我打算让用户能够同时打开此表单的多个实例,同时能够在单独的视图上应用不同的过滤器。目前这一切都很好。我想做的一件事是取消表单之间的行选择。当我单击 oneGridControl中的一行时,会在表单的所有其他实例中选择同一行。

有没有办法做到这一点?我不想创建一个副本,BindingSource因为考虑到数据的复杂性和大小,必须管理对所有源的更新将是一团糟。我可以让多个GridControls 绑定到同一个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一个本身都是一个非常复杂的对象。

谢谢

4

0 回答 0