none
ReportViewer não aparece ao dar o Refresh!!! RRS feed

  • Pergunta

  • Boa Tarde Pessoal

    Estou desenvolvendo um relatório a partir do ReportViewer. Até consegui fazer surgir o relatório quando a questão é não passar parâmetros dentro das queries, mas não eu preciso destes parâmetros.

    A minha idéia é igual ao que eu vi no site do Macoratti: ter uma textbox para especificar o dado a passar e um botão para dar um refresh no report. Porém, quando clico o botão,  a página não dá sinal de vida!!! O relatório não aparece!!!

    O que será que estou fazendo de errado? Existe alguma espécie de tutorial para me auxiliar nisso? Por favor alguém tem alguma luz???

    quinta-feira, 27 de dezembro de 2012 18:22

Todas as Respostas

  • Ninguém com capacidade de responder??? Decepcionante porque este fórum já foi melhor. Por favor divida o conhecimento. Ninguém é obrigado. Mas eu sempre divido com quem quiser aquilo que eu sei. E tenho certeza que tem gente que sabe como consertar este problema do qual estou passando.

    Tudo que eu quero saber é: porque o LocalReport.Refresh() não atualiza o reportviewer??? E como fazer para atualizar? Alguém me ajude por favor!!!

    sexta-feira, 28 de dezembro de 2012 17:27
  • Cara, Estou com a mesma dúvida. Ao desativar o visible do report e depois habilitar. ele não carrega mais. mesmo dando um Refresh();
    sexta-feira, 25 de julho de 2014 13:12
  • O seu sistema e web ou winforms ?

    Se for web o botão refresh vc executa o relatório novamente.


    Junior

    sexta-feira, 25 de julho de 2014 13:37
  • Bom Dia Junior, é mais ou menos assim.

    O report viewer já esta configurado tudo, Quando o visible dele está true. ele aparece

    Mais quando jogo ele para false e depois ativo ele novamente para true por meio da ação de um botão ele não exibe para mim.

    sexta-feira, 25 de julho de 2014 14:25
  • Seu projeto é webforms ?

    Junior

    sexta-feira, 25 de julho de 2014 14:28
  • Sim. 

    sexta-feira, 25 de julho de 2014 14:44
  • Luis eu faço o seguinte uso report viewer e não tenho botão de refresh tenho um botão de gerar o relatório, mostro o relatório em pdf, pq se vc apresentar no reportviewer em produção o botão imprimir não vai aparecer e se o usuário estiver usando o chrome.

    Clicou no botão eu gero o relatório, crio um pop-up e já exibo dentro desse pop-up o relatório no formato pdf.


    Junior

    sexta-feira, 25 de julho de 2014 14:47
  • Cara será que não há solução para isso?

    Já tentei configurar o reportviewer de novo pelo código ReportViewer1.LocalReport.Refresh();

    Mais ele aloca o espaço na página, mais não exibe o Relatório.

    Eu preciso que o relatório aparece na tela. 

    sexta-feira, 25 de julho de 2014 15:04
  • Luis eu faço assim :

    Crio um dataset e nele crio tableadapter, nele crio a consulta e associo esse tableadapter ao reportviewer.

    No codebehind faço isso 

    var reportViewer1 = new ReportViewer
                        {
                            ProcessingMode = ProcessingMode.Local
                        };
                        reportViewer1.LocalReport.ReportPath = "Forms/RH/RptCursositforempresa.rdlc";
                        reportViewer1.LocalReport.EnableExternalImages = true;
                        reportViewer1.LocalReport.EnableHyperlinks = true;
                        List<ReportParameter> parametros = new List<ReportParameter>();
    
                        parametros.Add(new ReportParameter("usuario", usuario));
                        
                        reportViewer1.LocalReport.SetParameters(parametros);
    string sql = "";
    sql += "repito o select do tableadapater";
    var dt1 = GetData(sql);
                        reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dt1));
    
                        var bytes = reportViewer1.LocalReport.Render("PDF");
                        Response.Buffer = true;
                        Response.ContentType = "application/pdf";
                        Response.AddHeader("content-disposition", "inline;attachment; filename=Sitforcursofeito.pdf");
                        Response.BinaryWrite(bytes);
                        Response.Flush(); // send it to the client to download
                        Response.Clear();
    
    
    private DataTable GetData(string query)
            {
                var sqlDt = new DataTable();
                var SqlConnection = new SqlConnection(string.Format("Data Source=terra;Initial Catalog=banco;Persist Security Info=True;User ID=usuario;Password=senha"));
                var sqlCommand = new SqlCommand(query, SqlConnection);
                var sqlDa = new SqlDataAdapter(sqlCommand);
                sqlDa.Fill(sqlDt);
    
                return sqlDt;
            }
    
    

    Veja se isso te ajuda


    Junior

    sexta-feira, 25 de julho de 2014 16:29
  • Vlw!
    sexta-feira, 25 de julho de 2014 16:54