none
visualizar pdf sem printpreview RRS feed

  • Pergunta

  • Olá pessoal, nesse codigo eu salvo o relatorio em pdf. Agora como que eu faço pra abrir o pdf de uma vez.
    Nesse que eu fiz, ele salva do diretório. eu quero abrir o arquivo pdf, e fechar o form printpreview.

    Obrigado

    private void Relat_Produtos_Load(object sender, EventArgs e)
           
    {

               
    // RetornaDataTable("", 0, 0);
               
    //this.reportViewer1.RefreshReport();
               
    this.reportViewer1.ProcessingMode = ProcessingMode.Local;
               
    this.reportViewer1.LocalReport.ReportPath =
                  
    @"C:\DanceteriaUI\DanceteriaUI\Relatorios\Produtos\Produtos.rdlc";

               
    //@"c:\Reports\Report1.rdl";

               
    //C:\DanceteriaUI\DanceteriaUI\Relatorios\Produtos
                reportViewer1
    .LocalReport.DataSources.Add(
                  
    new ReportDataSource("Produtos", RetornaDataTable("", 0, 0)));

               
    GeraRel();
           
    }

           
    private void GeraRel()
           
    {
               
    Warning[] warnings;
               
    string[] streamids;
               
    string mimeType;
               
    string encoding;
               
    string extension;

               
    byte[] bytes = reportViewer1.LocalReport.Render(
                  
    "pdf", null, out mimeType, out encoding,
                   
    out extension,
                  
    out streamids, out warnings);

               
    FileStream fs = new FileStream(@"d:\output.pdf",
                  
    FileMode.Create);
                fs
    .Write(bytes, 0, bytes.Length);
                fs
    .Close();



           
    }


           
    protected DataTable RetornaDataTable(string Nome, int CategoriaID, int ProdutoID)
           
    {
               
    DBAccess db = new DBAccess();
               
    DataSet ds;
               
    StringBuilder str = new StringBuilder();
                str
    .Append("SP_SELECT_PRODUTOS_FILTRO ");

                db
    .AddParameter("@Nome", Nome);
                db
    .AddParameter("@CategoriaID", CategoriaID);
                db
    .AddParameter("@ID", ProdutoID);

                ds
    = db.ExecuteDataSet(str.ToString());

               
    if (ds.Tables[0].Rows.Count == 0)
               
    {
                   
    MessageBox.Show("Não existem dados!");
               
    }

               
    return ds.Tables[0];
           
    }
    quinta-feira, 14 de junho de 2012 22:55

Todas as Respostas