Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vagner Bucioli Scala

[Resolvido] Resgatar valor digitado no GridView

Recommended Posts

Pessoal boa tarde! Tenho meu Gridview1 com um template field desta maneira:

 

<asp:TemplateField HeaderText="tbProduto" SortExpression="tbProduto">

<EditItemTemplate>

<asp:TextBox ReaDOnly="false" ID="txtProduto" runat="server" Text='<%# Bind("tbProduto") %>'></asp:TextBox>

</EditItemTemplate>

<ItemTemplate>

<asp:Label ID="Label2" runat="server" Text='<%# Bind("tbProduto") %>'></asp:Label>

</ItemTemplate>

</asp:TemplateField>

 

* Preciso recuperar na próxima tela os dados digitados neste campo pra dar um update mas nem com reza braba to conseguindo! Estou começando a programar com .net não tenho muita experiência

 

Preciso por obséquio de um exemplo de como recuperar em vb este campo, vi alguns exemplos em C#, tentei converter pra vb e não obtive sucesso!

 

Preciso de algo do tipo:

 

Dim Produto as String = GridView1.txtProduto.Text

 

Mas não estou conseguindo acertar!A biblioteca não acha este campo txt dentro do template field só fora!

 

Muito obrigado!

 

Vagner

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Quintelab! Então..na próxima tela eu digo chamar o ".vb" que irá resgatar o valor deste campo!

 

Eu já consegui funcionar o delete onde com a linha abaixo eu consigo pegar o id do produto no banco pra mandar deletar:

 

 IdProd = GridView1.DataKeys(e.RowIndex)("IdProd").ToString()

 

O evento update do grid você quer dizer aquele modo gráfico tipo arrastando o objeto e habilitar o update mode? assim eu sei fazer já, mas o que quero fazer é funcionar via código.

 

Já consegui habilitar o update mode via código desta forma no .vb

 

 

Protected Sub GridView1_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridView1.RowEditing

 

 

GridView1.EditIndex = e.NewEditIndex

CarregaGrid()

 

 

End Sub

 

 

Agora o que "tá pegando" é conseguir resgatar os dados digitados no campo template field pra executar o update!

 

Tentei a linha abaixo mas o .vb não retorna nada! Como uma coisa que era pra ser relativamente fácil pode se tornar tão difícil?

 

 

Linha de Código que estou usando sem sucesso:

Dim CampoProduto as String = GridView1.Rows(e.RowIndex).Cells(2).Text.ToString()

 

 

Muito obrigado, abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Quintelab! Só mais uma coisa pra fechar!

 

Utilizando o exemplo desta fonte que você me passou:

 

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

{

TextBox txtName = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtProduto");

 

Tentei converter pra vb, substituindo o colchete pelos parenteses apenas e não funcionou:

 

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

 

TextBox txtName = (TextBox)GridView1.Rows(e.RowIndex).FindControl("txtProduto");

 

Ele dá a seguinte exceção: "Argument not specified for parameter GridView of Private Property TextBox(GridView as System.Web.Ui.WebControl.GridView) As Object"

 

Detalhe: importei o System.Web.Ui tudo certinho.

 

 

Tentei também com um outro exemplo que eu tinha mas também não rolou! Que é este daqui:

 

Produto = GridView1.Rows(e.RowIndex).Cells(2).Text.ToString()

 

* Este ultimo aqui pelo menos não dá exceção! não acontece nada! ele não grava nada mas não dá exceção

 

 

Se tiver alguma luz aí eu agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo do código em vb.net:

 

http://msdn.microsoft.com/pt-br/library/system.web.ui.webcontrols.gridview.rowupdating.aspx#Y684

 

Lembrando que isso é só para pegar os valores, você deve fazer o código de inserção ou alteração no banco.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Quintelab deu certo! Valeu muito obrigado!

 

O curioso que de início não estava dando certo, estava dando exceção no final da linha de código

 

Produto = (CType((row.Cells(3).Controls(0)), TextBox)).Text

 

Daí notei que meu campo Produto estava como "Template Field", daí foi só converter de volta pra BoundField ele funcionou!

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.