Foros del Web » Programación para mayores de 30 ;) » .NET »

Gridview por Correo

Estas en el tema de Gridview por Correo en el foro de .NET en Foros del Web. Alguien tiene alguna idea de como mandar un gridview por correo..en asp.net.?..saludos y gracias...
  #1 (permalink)  
Antiguo 23/05/2012, 12:21
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Gridview por Correo

Alguien tiene alguna idea de como mandar un gridview por correo..en asp.net.?..saludos y gracias
  #2 (permalink)  
Antiguo 23/05/2012, 13:09
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: Gridview por Correo

Checa los siguientes enlaces:

http://stackoverflow.com/questions/1...bles-via-email
http://forums.asp.net/t/1046932.aspx/1

Saludos.
__________________
http://ka0stj.wordpress.com/
  #3 (permalink)  
Antiguo 23/05/2012, 16:09
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Gridview por Correo

Gracias por tu respuesta, ya habia visto esos enlaces...tengo el siguiente codigo


Protected Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim mail As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage()

mail.Body = GridViewToHtml(GridView1)
mail.IsBodyHtml = True
mail.To.Add(New System.Net.Mail.MailAddress("[email protected]"))
mail.From = New System.Net.Mail.MailAddress("[email protected]")
mail.Subject = "Hello"
Dim smptClient As System.Net.Mail.SmtpClient = New System.Net.Mail.SmtpClient()
smptClient.Send(mail)
End Sub




Private Function GridViewToHtml(ByVal gv As GridView) As String
Dim sb As New StringBuilder()
Dim sw As New StringWriter(sb)
Dim hw As New HtmlTextWriter(sw)
GridView1.RenderControl(hw)
Return sb.ToString()
End Function

pero me marca el siguiente error:


'GridView' must be placed inside a form tag with runat=server

buscando el google encontre esta solucion:

Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)
If Request.Form IsNot Nothing Then
If Request.Form(Button1.ClientID) IsNot Nothing Then
' Render the controls to a different text writer
writer.WriteLine("pruebas.aspx")


' Do not allow the page to be rendered
Return
End If
End If
MyBase.Render(writer)
End Sub

pero me sigue marcando el mismo error...alguien me puede hechar una mano por favor..?
  #4 (permalink)  
Antiguo 23/07/2012, 16:08
 
Fecha de Ingreso: julio-2012
Mensajes: 1
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Gridview por Correo

Te paso el dato para que puedas enviar por email un gridview, espero y todavia te sirva

Private Function getStrTabla() As String
'Vinculo los datos al datagrid
Dim tabAgre As DataTable = DirectCast(Session("tabSes"), DataTable)
Me.GridView1.DataSource = tabAgre
Me.GridView1.DataBind()
'Obtenemos el html
Dim sb As New StringBuilder()
Dim sw As New StringWriter(sb)
Dim htmlTW As New HtmlTextWriter(sw)
'llamamos al metodo RenderControl con el control TextWriter como parametro
GridView1.RenderControl(htmlTW)
'vuelco el c¢digo HTML a una variable y la devuelvo
Dim dataGridHTML As String = sb.ToString()
Return dataGridHTML

Session.Remove("tabSes")
End Function

''aqui se evita el error de que tiene que estar entre las etiquetas form
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
'Confirma que un control HtmlForm se representa para el control de ASP.NETserver especificado en tiempo de ejecución.
End Sub


ya solamente pegas la funcion en el cuerpo del correo

getStrTabla()


Saludos.

Etiquetas: correo, gridview, net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:28.