Я начну снизу, единственный способ обновить данные только после их изменения - это пройти проверку данных на стороне сервера, чтобы увидеть, изменились ли данные, и сделать этот вызов перед фактическим обновлением. , Короче говоря, вы делаете два вызова: один, чтобы увидеть, изменились ли данные, - это запрос на стороне сервера, а второй - только если он возвращает true, который обновляет данные.
Кроме того, вы также можете получить обновление, сравнить его с текущими данными и обновлять пользовательский интерфейс только в том случае, если эти данные отличаются, но я чувствую, что вы имеете в виду прежний ответ, заключающийся только в обновлении CALL вообще, если данные изменились.
Что касается другого решения, после того как вы сохранили selectedIndex, сделайте это внутри вашего updateComplete:
private function yourDataGridUpdateComplete(event:FlexEvent):void{
yourDataGrid.selectedIndex = yourIndex;
yourDataGrid.validateNow();
yourDataGrid.scrollToIndex(yourIndex);
}