DataGrid - Edite a linha selecionada quando um botão for clicado
-
20-09-2019 - |
Pergunta
Eu tenho um datagrid muito simples com 2 colunas, algo assim:
<mx:DataGrid id="grid" >
<mx:columns>
<mx:DataGridColumn dataField="name" headerText="Name"/>
<mx:DataGridColumn dataField="date" headerText="Date"/>
</mx:columns>
</mx:DataGrid>
O que estou tentando fazer é ativar a edição da linha selecionada quando o usuário clicar em um botão. Até agora, não consegui encontrar qualquer exemplo de como fazer isso. Eu já tentei 6 ou 7 abordagens diferentes, mas não obras. Alguém tem uma idéia de como fazer isso?
Como você obtém a linha selecionada (não selecionada) de um datagrid e como você pode:
- Altere o itemRenderEditor ou ItemRender na mosca dessa linha.
- Ou ativar a edição dessa linha específica sem clicar nela.
Esta são as perguntas que não consegui responder
A ajuda será muito apreciada.
Solução
Você pode obter a linha selecionada com a propriedade Grid.SelectedIndex. Um pensamento para o seu problema:
- Adicione uma propriedade "editável" a seus itens no datagrid, que é falsa por padrão
- Ao clicar no botão, defina grid.SelectedItem.editable = true;
- Altere o renderizador de ite
Você pode alterar o renderizador do item em tempo de execução como este:
grid.itemRenderer = new ClassFactory(com.myapp.renderers.MyGridItemRenderer);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow