obrigado pela resposta eric.

solução encontrada em
http://joelhooks.com/2008/02/07/flex-preventing-datagrid-scrolling-when-the-dataprovider-is-updated/
comentário salvador da pátria:
1. Before updating the data provider of the datagrid, retrieve first
the verticalScrollPosition and selectedItem properties of the
datagrid.
2. Update the data provider of the datagrid.
3. Set again the datagrid verticalScrollPosition and selectedItem
properties using the values you stored in step 1.
4. That's all and enjoy.

so, thanks dj brikz and joel hooks
pra quem precisar da mesma solução, ficou assim:

var selectedItem:Object = _dataGridPrincipal.selectedItem;;
var verticalScrollPosition:int =
_dataGridPrincipal.verticalScrollPosition;
_dataGridPrincipal.dataProvider.refresh();
_dataGridPrincipal.verticalScrollPosition = verticalScrollPosition;
_dataGridPrincipal.selectedItem = selectedItem;

muito útil e satisfatório.
obrigado lista.

On 15 fev, 12:17, Tonussi Eric <erictonu...@gmail.com> wrote:
> A principio você vai realmente vai ter que encontrar uma solução para o
> refresh. Eu particulamente não gosto de editar diretamente no datagrid.
>
> --
>  @Tonussi
> tonussi.com <http://tonussi.com/>
>
> Em 15 de fevereiro de 2012 11:09, Leonardo Oliveira <
> leonardoc.olive...@gmail.com> escreveu:
>
>
>
>
>
>
>
> > Pessoal, por favor me ajudem nisso aí. É um pouco difícil de explicar,
> > mas vou tentar em poucas palavras.
> > Tenho um datagrid no qual edito alguns campos dele e uso o
> > labelFuncion pra formatar e o DataGridEvent.ITEM_EDIT_END pra calcular
> > valores e mostrar em outros campos no grid. Acontece que no
> > item_edit_end, ao calcular tenho que fazer um datagrid.refresh pra
> > aplicar as alterações. O que tá ocorrendo é que quando dou o refresh,
> > se tenho um scroll no grid, ao editar uma célula e pressionar enter,
> > ao invés de calcular os valores, aplicar o labelfuncion e passar pro
> > proximo campo, ele faz isso mas faz também um scroll. Ou seja, o
> > ponteiro fica no mesmo lugar na tela mas a barra de rolagem foi
> > deslizada. Mais que isso, se é na primeira linha, pula uma linha ao
> > pressionar enter escondento pra cima o ítem que pulou. Alguém já
> > passou por problema parecido? Existe uma alternativa ao refresh do
> > dataprovider? Ajudem aí por favor.
>
> > --
> > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> > Para sair da lista, envie um email em branco para
> > flexdev-unsubscr...@googlegroups.com
> > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a