Usuário com melhor resposta
Pegando o resultado de um relatório pronto.

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.
Respostas
-
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- Marcado como Resposta Antônio de O. Brigolini segunda-feira, 25 de maio de 2009 17:27
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 -
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. -
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 -
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. -
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 -
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.
-
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- Marcado como Resposta Antônio de O. Brigolini segunda-feira, 25 de maio de 2009 17:27
-
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.