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.

Foi útil?

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
scroll top