none
Pegando o resultado de um relatório pronto. RRS feed

  • Pergunta

  • Bom dia pessoal,

    Comecei a trabalhar com o reporting service a pouco tempo. Desenvolvi o relatório no formato que eu queria, com alguns parâmetros e o resultado ficou muito bom.

    agora estou com algumas dúvidas para desenvolver em C#/Asp.Net

    1 - Como conectar a minha página aspx com o relatório criado?

    2 - Como passar os parâmetros para o relatório?

    3 - Como mostrar o resultado tipo, pegando o retorno e enviando para dentro de uma grid, para ficar no formato do design da página.

    Agradeço a todos que puderem ajudar.
    quarta-feira, 20 de maio de 2009 14:06

Respostas

Todas as Respostas

  • Antonio,

    Vou tentar ajudá-lo:

    1 - Como conectar a minha página aspx com o relatório criado?

      -- Teoricamente através da url do relatório.

    2 - Como passar os parâmetros para o relatório?

       -- Para passar parâmetros ao relatório você deverá criar estes parâmetros.

    3 - Como mostrar o resultado tipo, pegando o retorno e enviando para dentro de uma grid, para ficar no formato do design da página.

       -- Você deseja pegar o resultado de um relatório, por exemplo uma soma e demonstrar em um grid?


    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 20 de maio de 2009 18:38
  • Ok....

    1 -

    Consegui me conectar ao relatório, criando uma página e incluindo nela, o reportviewr...

    Configurei as 3 opções corretamente e pronto, quando chamo a página, já aparece a barra principal com as opções e campos que uso como filtro para gerar o relatório.

    2 - Os parâmetros já foram criados, o que eu quis dizer foi, como chamar o relatório passando parâmetro para o filtro do relatório.

           Por exemplo, no relatório, tem duas opções, tipo, relatório Ativo e Inativo, eu quero colocas as opções na programação para o camarada escolher e enviar, ao clicar tipo em Gerar Relatório.

    3 - Sobre mostrar o resultado, o que é mostrado no ReportViewr já está de bom tamanho.

    Faltou então somente a pergunta 2, como enviar o parâmetro via programação.

    Valeu.

    quarta-feira, 20 de maio de 2009 19:09
  • Antonio,

    No corpo da sua query para você passar o parâmetro tente fazer assim, veja este exemplo:


    Select * from Produtos
    Where Codigo = @Codigo


    Onde o @codigo é o seu parâmetro criado no relatório.


    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 20 de maio de 2009 19:53
  • Bom demais, vou entrar mais no detalhes para você  ver a minha dúvida,

    Estou na página aspx, onde eu gostaria de mostrar para o usuário um combobox com uma seleção de opções, tipo Produto Batata com cod. 1 e maça com cod 2.

    O Usuário escolhe a opção e clica em enviar.

    Ai chega o que eu estou precisando....

    Quando abrir o relatório, já estará preenchido com o produto que o usuário escolheu na página anterior. Sem a necessidade de pedir para ele escolher.

    Quando eu clicar em enviar, como eu envio isso para o relatório?

    Vou precisar disso para tentar uma outra coisa também.

    Valeu pela ajuda.
    quarta-feira, 20 de maio de 2009 20:59
  • Antonio,

    Dá uma olhada nesse site:
    http://www.gotreportviewer.com/

    que contém vários exemplos com reportviewer, inclusive setando parametros.

    Att
    Boreki
    http://www.boreki.eng.br
    quinta-feira, 21 de maio de 2009 02:25
  • Boa Tarde Boreki,

    Dei uma olhada mas não encontrei o que eu queria.

    Inseri o textbox com nome "txtTeste" acima de onde foi colocado o Reportviewer.

    Fui no desenvolvimento do relatório e fiz uma dica que vi no site, coloquei um =reportitems!txtTeste.Value

    Só que na hora de gerar, ao invés de aparecer o resultado aparece #Erro.

    Andei fazendo uma pesquisa no fórum, mas a maioria, faz um textbox dentro do relatório, passar parâmetro para outro dentro do mesmo relatório, só que no meu caso, estou na página, passado para o relatório.

    Você tem alguma dica para poder ajudar?

    Agradeço pelo apoio.

    sexta-feira, 22 de maio de 2009 20:21
  • No site que passei anteriormente
    Parametros em local mode, esta usando winforms mas é semelhante em webforms.:
    http://www.gotreportviewer.com/localmodeparameters/index.html

    Os Web casts do Laércio (Forum de reportviewer) também dão uma boa base de como usar o report viewer:
    http://social.msdn.microsoft.com/Forums/pt-BR/vsreportingpt/thread/a96182b5-3781-4dbb-9733-65af62d1efec

    O workflow que voce precisa seguir é o seguinte, crie a textbox na página, no seu relatório você precisa criar um parametro que recebera o valor dessa textbox.

    No codigo da pagina asp, pegue o valor da textbox e associe a um parametro do relatorio (veja o primeiro link assima sobre como fazer isso).

    No relatório, use uma textbox que mostra o valor do parametro, expressao =parameters!parametro.value

    Att
    Boreki


    http://www.boreki.eng.br
    sexta-feira, 22 de maio de 2009 20:51
  • Só para ficar tipo um resumo bacana para quem precisar:

    Fiz assim.... Na pagina onde estáva o reportviewer1

    Coloque os parâmetros necessários e inclua o botão para disparar os dados digitados.

    No click do botão configure da seguinte maneira

     

    //Informa o modo de execução do relatório (Remoto)
    ReportViewer1.ProcessingMode = ProcessingMode.Remote;

     

    //Criando e atribuindo valores para os parâmetros
    ReportParameter[] reportParams = new ReportParameter[4];
    reportParams[0] =
    new Microsoft.Reporting.WebForms.ReportParameter("Agencia", txtAgencia.Text);
    reportParams[1] =
    new Microsoft.Reporting.WebForms.ReportParameter("Mes", drMes.SelectedValue);
    reportParams[2] =
    new Microsoft.Reporting.WebForms.ReportParameter("Situacao", drSituacao.SelectedValue);
    reportParams[3] =
    new Microsoft.Reporting.WebForms.ReportParameter("Agrupar", rdAgrupar.SelectedValue);

     

    //Atribuição dos parametros criados para o relatorio
    ReportViewer1.ServerReport.SetParameters(reportParams);

     

    //Desabilita o barra de parametros do Report viewer
    ReportViewer1.ShowParameterPrompts = false;

     

    //Atualiza o relatorio para exibição
    ReportViewer1.ServerReport.Refresh();

    Funcionou bacana...

    Valeu galera.

    segunda-feira, 25 de maio de 2009 17:30