Array
(
)

Obtendo valores dos textboxes de uma GridView CSharp

Leandro Silva
   - 31 out 2012

Bom dia pessoal,
É o seguinte: tenho ma gridview que monta textboxes atraves do itemtemplate.
Essas caixas de texto são editáveis pelo usuário.
Quero obter o valor que o usuário digitou mas não estou conseguindo, simplesmente vem vazio.
Já fiz de várias formas:
1 - Varrendo a Grid. Um botão dispara essa varredura:
foreach (GridViewRow row in grdUsuarioProjeto.Rows)
{
TextBox text = row.FindControl("txtDtIni") as TextBox ;
text . Text <------------ VEM VAZIO
}
2 - Pelo evento OnSelectedIndexChanged da Grid. Defino um botao com CommandName="Select" e no acionamento do mesmo tento obter o valor:
protected void grd_SelecionarRegistro(object sender, EventArgs e)
{
TextBox text = (TextBox)grdVinculaProjeto.SelectedRow.FindControl("txtDtFim");
text . Text <------------ VEM VAZIO
}
No disparo desses botões a tela entra em postback e reconstroi a grid, causando a perda dos dados digitados nos campos de texto contidos nela.
Alguem já passou por isso e teria alguma idéia ?
Muito Obrigado.

Robson Robsonalves.net
   - 31 out 2012


Citação:
Bom dia pessoal,

É o seguinte: tenho ma gridview que monta textboxes atraves do itemtemplate.



tem esse jeito,
http://social.msdn.microsoft.com/Forums/pt-BR/aspnetpt/thread/4f8019f8-3f37-4ae1-afa1-407768242e93

mas eu recomendo você fazer utilizando o edittemplate do gridview:

http://www.asp.net/web-forms/tutorials/data-access/custom-formatting/using-templatefields-in-the-gridview-control-cs

assim a linha que for editada, o gridview gera os textbox e quando for salvar ele catpura o evento da linha e vc faz o update.