01/11/2015, 00:55
|
| | Fecha de Ingreso: noviembre-2002 Ubicación: DF
Mensajes: 1.056
Antigüedad: 22 años, 1 mes Puntos: 37 | |
Respuesta: Exporta datos dataGridView a PDF sub GENERARPDF()
Response.ContentType = "application/pdf"
Response.AddHeader("content-disposition", "attachment;filename=EstadoCta.pdf")
Response.Cache.SetCacheability(HttpCacheability.No Cache)
'//Render PlaceHolder to temporary stream
Dim stringWrite As System.IO.StringWriter = New StringWriter()
Dim htmlWrite As System.Web.UI.HtmlTextWriter = New HtmlTextWriter(stringWrite)
' EL GRIDVIEW ESTA COLOCADO DENTRO DE UN PLACEHOLDER
PlaceHolderPdf.RenderControl(htmlWrite)
Dim reader As StringReader = New StringReader(stringWrite.ToString())
'//Create PDF document
Dim doc As Document = New Document(PageSize.A4)
Dim parser As HTMLWorker = New HTMLWorker(doc)
' para email
Dim writer As PdfWriter
PdfWriter.GetInstance(doc, Response.OutputStream)
doc.Open()
Try
parser.Parse(reader)
Catch ex As Exception
'//Display parser errors in PDF.
'//Parser errors will also be wisible in Debug.Output window in VS
Finally
If paraEmail Then
writer.CloseStream = False
End If
doc.Close()
End Try
end sub
--------------------------------
CODIGO DEL GRIDVIEW:
<asp:PlaceHolder ID="PlaceHolderPdf" runat="server">
<asp:GridView id="gridView1"
runat="server" Width="80%"
HeaderStyle-CssClass="table_list"
AutoGenerateColumns="False"
cssclass = "table_resultados"
EmptyDataText = "No hay datos">
......
</asp:GridView>
</asp:PlaceHolder>
y POR SI ENVIARA UN ERROR EL CODIGO AL MOMENTO DE QUERER GENERAR EL PDF, COLOCANDO ESTA FUNCION en el aspx se "brinca" el error (la funcion asi como esta, sin codigo ejecutabel interno):
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As System.Web.UI.Control)
' Para exportar a excel/PDF
'este codigo arroja un error cuando se usa ocn la master page, pero con esta declaracion se soluciona
' y con EnableEventValidation="false"
End Sub |