none
ReportViewer em Branco RRS feed

  • Pergunta

  • Pessoal sei que tem alguns assuntos tratando disso mas infelizmente não achei algo que me ajudasse...

    Estou com um projeto 90% pronto só está faltando os relatórios e estou tentando fazer em Reportviewer onde a maioria das pessoas me indicou...

    Estou usando o Vs 2012 e Sql Server 2008 já peguei dezenas sem exagerar até centenas de exemplo na internet faço passo a passo conforme quem está fazendo o tutorial manda e o meu relatório fica em branco.

    Alguém consegue me dar uma luz? Já estou a 3 semanas quebrando cabeça e até agora nada.

    Grato,

    Wagner


    Wagner_fix


    • Editado Wagner_fix quarta-feira, 22 de junho de 2016 02:07
    quarta-feira, 22 de junho de 2016 02:07

Respostas

  • Wagner acho que o erro está aqui

    Dim caminhoRpt As String = HttpContext.Current.Server.MapPath("~/Relatorios/")

    Tem que ter o relatorio .rdlc  veja meu caminho

    reportViewer1.LocalReport.ReportPath = "Forms/Tecnico/RptColetaXProcessamento.rdlc"

    o RptColetaXProcessamento.rdlc é o reportviewer fisico.


    Junior

    • Marcado como Resposta Thales F Quintas quinta-feira, 23 de junho de 2016 13:03
    quarta-feira, 22 de junho de 2016 19:06

Todas as Respostas

  • Wagner seu projeto é webforms ou winforms ?

    Junior

    quarta-feira, 22 de junho de 2016 11:37
  • Junior bom dia.

    O meu projeto é WebForms

    Grato,

    Wagner


    Wagner_fix

    quarta-feira, 22 de junho de 2016 12:33
  • Então vamos lá, primeiro vc tem que criar um dataset, no dataset vc pode criar um tabaleadapter ou um table a diferença é que no tableadapter vc salva sua consulta e cola e ele executa e gera os colunas com os campos da sua consulta, no table vc cria as colunas bastando clrt + l.

    Então vc cria um rdlc arquivo (report viewer) e vincula o dataset ao seu dataset que vc criou acima e ele trará os campos. no rdlc vc adiciona uma table e na table vc vai selecionando os campos que vc quer.

    Fisicamente está finalizado.

    Vou postar um exemplo meu onde gero o relatório em pdf.

    using Microsoft.Reporting.WebForms; no load da página var reportViewer1 = new ReportViewer { ProcessingMode = ProcessingMode.Local };

    reportViewer1.LocalReport.ReportPath = "caminho fisico do seu relatorio.rdlc"; reportViewer1.LocalReport.EnableExternalImages = true; reportViewer1.LocalReport.EnableHyperlinks = true; //caso seu relatorio tenha parametros List<ReportParameter> parametros = new List<ReportParameter>(); parametros.Add(new ReportParameter("usuario", usuario)); parametros.Add(new ReportParameter("data", data)); parametros.Add(new ReportParameter("empresa", empresa)); //executa sua sql string sql = "sua consulta"; o getdata apenas passo a conexao com o banco e executo a consulta. var dt2 = GetData(sql); reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dt2)); //converter para pdf var bytes = reportViewer1.LocalReport.Render("PDF"); Response.Buffer = true; Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "inline;attachment; filename=nome do seu relatorio.pdf"); Response.BinaryWrite(bytes); Response.Flush(); // send it to the client to download Response.Clear(); dt2.Dispose();



    Junior

    • Marcado como Resposta Thales F Quintas quarta-feira, 22 de junho de 2016 16:12
    • Não Marcado como Resposta Wagner_fix quarta-feira, 22 de junho de 2016 17:42
    quarta-feira, 22 de junho de 2016 14:36
  • Junior primeiramente muito obrigado por você ter tirado um tempo para me ajudar.

    Eu estou fazendo o meu projeto em Vb.Net e mesmo usando um site de conversão de linguagem de C# para Vb.Net não consegui fazer funcionar alguns parâmetros estão com erro.

    Veja o meu código Vb.Net foi o que eu cheguei mais próximo para funcionar.

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
                'define o modo Local como o processamneto para o ReportViewer 
            ReportViewer1.ProcessingMode = ProcessingMode.Local
            Dim rep As LocalReport = ReportViewer1.LocalReport
            'obtem o caminho do relatório
            Dim caminhoRpt As String = HttpContext.Current.Server.MapPath("~/Relatorios/")
            'define o local do relatorio criado
            rep.ReportPath = caminhoRpt & "report.rdlc"
            'obtem o dataset
            Dim ds As DataSet = GetVendas()
            'Cria uma fonte de dados no relatório para o dataset vendas
            Dim dsVendasRpt As New ReportDataSource()
            'define o nome do datasource
            'dsVendasRpt.Name = "linksite1DataSet_CLIENTE"
            dsVendasRpt.Name = "DataSet1"
            'usa primeira tabela do dataset
            dsVendasRpt.Value = ds.Tables(0)
            'atribui o datasource ao relatorio
            rep.DataSources.Add(dsVendasRpt)
        End Sub
    
        Private Function GetVendas() As DataSet
            Dim ds As New DataSet
            Dim sqlVendas As String = "SELECT * FROM CO_MOV_DG"
            Using conexaoSQL As New SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionASPX").ConnectionString.ToString())
                Dim command As New SqlCommand(sqlVendas, conexaoSQL)
                Dim daVendas As New SqlDataAdapter(command)
                daVendas.Fill(ds)
                daVendas.Dispose()
                command.Dispose()
            End Using
            Return ds
        End Function
    E desse jeito quando abre a página fica em branco conforme a imagem que vou colocar em anexo.


    Wagner_fix

    quarta-feira, 22 de junho de 2016 17:27
  • Wagner acho que o erro está aqui

    Dim caminhoRpt As String = HttpContext.Current.Server.MapPath("~/Relatorios/")

    Tem que ter o relatorio .rdlc  veja meu caminho

    reportViewer1.LocalReport.ReportPath = "Forms/Tecnico/RptColetaXProcessamento.rdlc"

    o RptColetaXProcessamento.rdlc é o reportviewer fisico.


    Junior

    • Marcado como Resposta Thales F Quintas quinta-feira, 23 de junho de 2016 13:03
    quarta-feira, 22 de junho de 2016 19:06
  • Junior fiz igual você me passou e continua em branco.

    Olha que interessante, voltei no report.rdlc do lado esquerdo onde mostra qual dataset eu interliguei não aparece mais sumiu.

    Será que é isso que ele está perdendo a referência?

    Não era para ficar lá sempre que eu consultasse?

    Segue o print...


    Wagner_fix

    quarta-feira, 22 de junho de 2016 19:22
  • Era sim

    Junior

    quarta-feira, 22 de junho de 2016 19:33
  • Estava lá sim, só estava oculto!

    Wagner_fix

    quarta-feira, 22 de junho de 2016 19:55
  • Pessoal alguém tem alguma dica? até agora ainda não consegui.

    Grato,

    Wagner


    Wagner_fix

    segunda-feira, 11 de julho de 2016 17:20