Usuário com melhor resposta
Report Viewer problema muitos dados

Pergunta
-
Bomd ia pessoa, tenho um relatório que retorna 2600 páginas, para carrega-lo demorar muito tempo e alguams vezes dá estouro de memória. Tem como montar este relatorio que seja retornado de forma mais rapida? Não sei se seria o caso de trazer página por página do relatorio...obrigado
Respostas
-
Fernando,
Eu tenho um exemplo em C# que eu postei no Fórum, veja se ajuda:
Observe que no final eu "libero" os objetos utilizados!
Code Snippetfinally {
//liberando os objetos
oConn.Dispose();
oTable.Dispose();
rView.Dispose();
oConn = null;
oTable = null;
rView = null;
Response.Clear();
}
Exemplo completo em:
ReportViewer - Abrir PDF
http://forums.microsoft.com/msdn-br/ShowPost.aspx?PostID=3132952&SiteID=21
[ ]'s
Laércio.
Todas as Respostas
-
Fernando,
Neste caso, faça a exportação do relatório para PDF sem fazer o PrintPreview.
Como fazer:
Criei um tópico fixo no fórum MSDN com algumas dicas sobre a construção de relatórios com Crystal Reports e ReportView (incluindo 2 vídeos com vários exemplos de como construir relatórios com os componentes, licença, distribuição, service packs, etc.):
Tem um exemplo de como exportar para PDF sem fazer o printPreview com Crystal Reports e ReportViewer.
http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=3761576&SiteID=21
[ ]'s
Laércio.
-
-
-
Opa LAercio, aqui está o código:
Code SnippetDataTable
dt = HelperSolicitacaoItem.ObterItensporSolicitacao(); ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/rel_nhibernate.rdlc"); ReportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("dsitem", dt)); Warning[] warn = null; string[] streamids = null; string mimeType = "application/pdf"; string encoding = String.Empty; string extension = String.Empty; byte[] byteViewer; byteViewer = ReportViewer1.LocalReport.Render("pdf", null, out mimeType, out encoding, out extension, out streamids, out warn); Response.Buffer = true; Response.Clear(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "inline; filename=ReportName.pdf"); Response.BinaryWrite(byteViewer); Response.Flush(); Response.End(); -
Fernando,
Eu tenho um exemplo em C# que eu postei no Fórum, veja se ajuda:
Observe que no final eu "libero" os objetos utilizados!
Code Snippetfinally {
//liberando os objetos
oConn.Dispose();
oTable.Dispose();
rView.Dispose();
oConn = null;
oTable = null;
rView = null;
Response.Clear();
}
Exemplo completo em:
ReportViewer - Abrir PDF
http://forums.microsoft.com/msdn-br/ShowPost.aspx?PostID=3132952&SiteID=21
[ ]'s
Laércio.