none
Instanciar objeto para arquivo rdlc do reportViewer RRS feed

  • Pergunta

  • Estou desenvolvendo relatórios com winforms e com o crystal faço a chamada do relatório assim:


           Dim crReportDocument As New rpt_NomedoRelatorio 'aqui onde digo qual rpt vou utilizar.

            'carregar o dataset
            'código para carregar o dataset, não coloquei aqui


            ' mostrar o relatório
            ' crReportDocument.SetDataSource(ds)

            'visualizar o relatório
            cr_viewer.ReportSource = crReportDocument


    gostaria de fazer o mesmo com o reportViewer. Vi que nos exemplos funciona somente chamando o path do arquivo rdlc...
    mas ai é complicado porque tenho que ter os arquivos na máquina do usuário, isso é um problema caso o usuário apague ou modifique  o arquivo.
    tem com instanciar um objeto para o arquivo rdlc da mesma forma que faço para o crystal?

    vlw as dicas desde já.
    terça-feira, 9 de setembro de 2008 13:00

Respostas

  •  Cássio,

     

    Os arquivos do Crystal Reports (.rpt) e do ReportViewer (.rdlc) ficam no mesmo diretório de instalação da aplicação. Ou seja, mesmo criando uma instância do (.rpt) você ainda precisa ter o arquivo no diretório da aplicação.

     

     

    Se você está preocupado com a segurança dos arquivos (e caso seja um item critico para sua solução), neste caso, faça a construção dos relatórios usando o  Reporting Services do SQL Server (2005 ou 2008) e faça o printpreview pelo ReportViewer.

     

     

    Ajude a melhorar o nosso Fórum!
    Não esqueça de marca a mensagem como "útil", caso tenha ajudado.

     

     

    Por que devo classificar uma postagem?

    http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=1020123&SiteID=21

     

    Valeu!

     

     

    terça-feira, 9 de setembro de 2008 15:08
    Moderador
  • Cássio,

     

    ...Tenho outras aplicações funcionando com crystal e com certeza não tem os arquivos rpt na pasta da aplicação do cliente, somente o executável do programa...

    Resposta: Sim também funcionada sem problema, neste caso TODOS os relatórios serão incluídos dentro do executável da aplicação (o que torna o executável maior).

     

    Eu faço diferente, tenho uma pasta com os relatórios dentro da aplicação o que facilita na hora de fazer uma manutenção em um determinado relatório. Dessa forma eu consigo atualizar apenas o arquivo (.rpt para Crystal Reports e .rdlc para ReportView) no cliente, sem a necessidade de fazer um deploy completo da aplicação.

     

     

     

     

    segunda-feira, 15 de setembro de 2008 14:42
    Moderador
  • Cássio,

     


     

    ... acho ruim é que os arquivos ficam "Abertos" para o usuário, podendo este apagar os arquivos e até editá-lo, o que é o pior.. pois pode mexer no design do retatório...

     

    Resposta: neste caso é só criar uma permissão de “leitura” no diretório onde estão armazenados os relatórios, dessa forma, nenhum usuário vai conseguir modificar ou excluir os relatórios da aplicação.

     

     

    segunda-feira, 15 de setembro de 2008 16:02
    Moderador

Todas as Respostas

  •  Cássio,

     

    Os arquivos do Crystal Reports (.rpt) e do ReportViewer (.rdlc) ficam no mesmo diretório de instalação da aplicação. Ou seja, mesmo criando uma instância do (.rpt) você ainda precisa ter o arquivo no diretório da aplicação.

     

     

    Se você está preocupado com a segurança dos arquivos (e caso seja um item critico para sua solução), neste caso, faça a construção dos relatórios usando o  Reporting Services do SQL Server (2005 ou 2008) e faça o printpreview pelo ReportViewer.

     

     

    Ajude a melhorar o nosso Fórum!
    Não esqueça de marca a mensagem como "útil", caso tenha ajudado.

     

     

    Por que devo classificar uma postagem?

    http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=1020123&SiteID=21

     

    Valeu!

     

     

    terça-feira, 9 de setembro de 2008 15:08
    Moderador
  • Olá Laercio.
    Cara, desculpe mas com com toda humildade do mundo terei que descordar de você;
    Tenho outras aplicações funcionando com crystal e com certeza não tem os arquivos rpt na pasta da aplicação do cliente, somente o executável do programa.
    Apenas instancio um objeto para o relatório (como coloquei no meu exemplo)
    e tudo funciona,  mas não consegui fazer isso no ReportViewer.

    Desculpe se eu estiver errado e Mais uma vez, obrigado pela sua ajuda.

    Abraço
    terça-feira, 9 de setembro de 2008 17:42
  • Cássio,

     

    ...Tenho outras aplicações funcionando com crystal e com certeza não tem os arquivos rpt na pasta da aplicação do cliente, somente o executável do programa...

    Resposta: Sim também funcionada sem problema, neste caso TODOS os relatórios serão incluídos dentro do executável da aplicação (o que torna o executável maior).

     

    Eu faço diferente, tenho uma pasta com os relatórios dentro da aplicação o que facilita na hora de fazer uma manutenção em um determinado relatório. Dessa forma eu consigo atualizar apenas o arquivo (.rpt para Crystal Reports e .rdlc para ReportView) no cliente, sem a necessidade de fazer um deploy completo da aplicação.

     

     

     

     

    segunda-feira, 15 de setembro de 2008 14:42
    Moderador
  • Olá Laercio.
    Obrigado pelo retorno.
    Pois é, mas também uma coisa que acho ruim é que os arquivos ficam "Abertos" para o usuário, podendo este apagar os arquivos e até editá-lo, o que é o pior.. pois pode mexer no design do retatório.

    vlw.
    segunda-feira, 15 de setembro de 2008 14:48
  • Cássio,

     


     

    ... acho ruim é que os arquivos ficam "Abertos" para o usuário, podendo este apagar os arquivos e até editá-lo, o que é o pior.. pois pode mexer no design do retatório...

     

    Resposta: neste caso é só criar uma permissão de “leitura” no diretório onde estão armazenados os relatórios, dessa forma, nenhum usuário vai conseguir modificar ou excluir os relatórios da aplicação.

     

     

    segunda-feira, 15 de setembro de 2008 16:02
    Moderador