Enviando o GridView para o modo de edição com o uso de um botão separado - c #, asp.net, gridview, webforms, edição em linha

Eu usei GridView.EditIndex = -1 para fazer isso, no entanto, eu sempre tenho que clicar no botão duas vezes. Se os dados já estiverem presentes no gridview, eles serão removidos do gridview. Por que é isso?

Eu tentei:
this.subBindGrid();

protected void subBindGrid()
{
GridView.Columns[7].Visible = true;
GridView.DataSource = <filepath>.Tables[0].DefaultView;
GridView.DataBind();
}

Eu também tentei:

GridView.DataBind();

sozinho.

Nenhum destes fez qualquer diferença.

Respostas:

1 para resposta № 1

Sempre que você clicar em qualquer controle em uma página. Que a solicitação é enviada ao servidor para nova página devido à natureza sem estado do http. Toda vez que você clica no botão, você recebe uma nova página com DataSource de gridview está vazio. para resolver isso. depois de GridView.EditIndex = -1.
Vincule sua fonte de dados e subBindGrid(); lembre-se isso vai funcionar apenas se <filepath>.Tables[0].DefaultView não é nulo


Cardápio