Ir para conteúdo

POWERED BY:

Arquivado

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

Ds.suporting

[Resolvido] problema no update no gridview

Recommended Posts

Olá Amigos

Estou com um gridview que lista id, nome, email e categoria da tabela emails do banco de dados Access.

Fiz o eventos RowUpdating mas não consigo capturar os dados que digitei no textbox do gridview, o cod abaixo pega apenas os dados originais dos textbox.

Sub mostratodos()
		Dim dsmotra_todos_emails As New dspainelTableAdapters.emails1TableAdapter
		grdemails.DataSource = dsmotra_todos_emails.Getemail_todos
		DataBind()
	End Sub

	Sub mostracategoria()
		Dim dsmotra_todos_emails As New dspainelTableAdapters.emails1TableAdapter
		grdemails.DataSource = dsmotra_todos_emails.Getemail_categorias(drpcategoria.Text)
		DataBind()
	End Sub

	Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
		Dim categoria As String = drpcategoria.Text
		If categoria = "todos" Then
			mostratodos()
		Else
			mostracategoria()
		End If
	End Sub

	Protected Sub grdemails_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles grdemails.RowCancelingEdit
		grdemails.EditIndex = -1
		DataBind()
	End Sub

	Protected Sub grdemails_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles grdemails.RowEditing
		grdemails.EditIndex = e.NewEditIndex
		DataBind()
	End Sub

	Protected Sub grdemails_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles grdemails.RowUpdating
		Dim ds_update As New dspainelTableAdapters.emails1TableAdapter
		Dim id As TextBox = CType(grdemails.Rows(e.RowIndex).Cells(0).Controls(0), TextBox)
		Dim id_2 As Integer = id.Text
		Dim nome As TextBox = CType(grdemails.Rows(e.RowIndex).Cells(1).Controls(0), TextBox)
		Dim email As TextBox = CType(grdemails.Rows(e.RowIndex).Cells(2).Controls(0), TextBox)
		Dim categoria As TextBox = CType(grdemails.Rows(e.RowIndex).Cells(3).Controls(0), TextBox)
		Dim nome_2 As String = nome.Text
		Dim email_2 As String = email.Text
		Dim categoria_2 As String = categoria.Text
		'Esta linha eu usei para ver os dados capturados do gridview, mas o problema é que ele só mostra os dados originais e não os que eu atualizei
		'Response.Write(id_2 & " - " & nome_2 & " - " & email_2 & " - " & categoria_2)
		'aqui eu pego os dados do gridview e preencho  o dataset com o update que é alterar o nome, email e categoria quando id for igual ao id
		ds_update.Getupdate_email(nome_2, email_2, categoria_2, id_2)
		'redireciona para a página principal
		Response.Redirect("gerencia_emails_default.aspx")
	End Sub

Se alguém poder me ajudar com esse update eu vou ficar muito agradecido.

TKS.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido!

 

Pra não ficar quebrando a cabeça resolvi colocar o edit e delete em outra página específica para cada um.

Só criei uma coluna hiperlink no gridview que passa o parâmetro do id do registro selecionado!

 

 

Obrigado!

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.