当我更新dataProvider(ArrayCollection)时,我的Flex数据网格会自动滚动到顶部。我不希望这种情况发生,但我仍然希望所有对象都要更新。我正在为客户的管理系统开发一个半实时仪表板,它将经常更新。如果每次更新时滚动到顶部,使用它将非常困难和令人沮丧。
我试图使用以下技术来防止这种情况,但都没有。
dataProvider = updatedDataProvider;
dataProvider.updateItem(dataProvider);
dataProvider.source = updatedDataProvider.source;
dataProvider.updateItem(dataProvider);
我试图发送一个鼠标事件来保持垂直滚动条到位,我试图锁定垂直滚动条位置值(保存并重新分配)......
还有很多其他人,这些只是我脑子里的第一批。有人有什么想法吗?
答案 0 :(得分:2)
已在How do I maintain selection in a DataGrid when the data changes?中回答,请检查。
在该答案的基础上,如果索引在数据提供者之间发生变化,即如果上面插入了一行,则可能需要在新提供者上执行getItemIndex。
答案 1 :(得分:-1)
如果您选择之前选择的内容并使用ensureIndexIsVisible()?
,该怎么办?