我正在使用DevExpress XtraGrid组件和DataTable作为数据源。
我想每隔几秒更新数据(异步),但我不想滚动/折叠/更改网格。
例如,如果用户滚动网格并执行后台更新,那么我希望用户保持在同一行等等。
答案 0 :(得分:1)
我认为您可以使用以下方法:
使用 BindingSource 作为GridControl的数据源并禁用BindingSource.RaiseListChangedEvents选项。这将允许您阻止数据源向GridControl发送通知。因此,GridControl不会在每次更改时自动更新。
在更新数据源时,保存更新的行索引。
最后,引入间隔相等的计时器,例如5秒,并调用RefreshRow方法仅刷新所需的行。此外,您可以使用RefreshDataSource方法刷新所有行。
因此,您将在五秒钟内仅更新所需的行一次,并保存行状态。