Flex CairnGorm - Como atualizar o modelo sem perder o foco no DataGrid?
-
22-09-2019 - |
Pergunta
No meu projeto Flex usando o CairnGorm, tenho um modelo que armazena uma coleta de Array Bindable exibida por um datagrid. Meu problema ocorre quando o modelo é atualizado pelo respondente (de um serviço Java, após um evento de "atualização"), porque o foco localizado em uma célula do datagrid é perdido (a posição de rolagem IL também perdeu). Então, eu recupero a posição antes da atualização, com o evento DataGridevent.iTem_focus_in:
myModel.focusedCell.rowIndex = e.rowIndex;
myModel.focusedCell.columnIndex = e.columnIndex;
Mas, de onde restaurar esses parâmetros? Como acionar esta atualização apenas quando o modelo é atualizado?
Desde já, obrigado.
Solução
Para obter informações, resolvi meu problema da seguinte forma:
Para evitar a perda de foco (ou melhor, a próxima célula que está sendo editada), é preciso atualizar o modelo sem reinsntiando-o.
Depois disso, devemos resolver um problema com o pergaminho, conforme explicado no seguinte post:Como fazer dados vincular o componente datagrid sem rolar para cima?