Pergunta
Eu tenho um DataGrid, com um ItemTemplate que tem uma imagem e etiqueta. No EditItemTemplate o rótulo é substituído por uma caixa de texto. Meu problema é que o modelo de edição só mostra quando eu clico no botão Editar pela segunda vez. O que dá?
Solução
Certifique-se que você está re-ligação do DataGrid depois de definir a propriedade EditItemIndex.
Edit: Concordou com Massa. A melhor prática é para mover a sua ligação de dados em um método separado e chamá-lo primeiro no primeiro carregamento da página, e novamente depois de definir EditItemIndex.
Outras dicas
Certifique-se de verificar se há Page.IsPostBack antes vinculativo seu datagrid. Pode ser o caso que você está ligando durante cada carregamento da página.
If Not Page.IsPostBack() Then
DoDataBinding()
End If