Fórum Consultoria na Montagem de Relatóario com Gráficos #1600
02/01/2009
0
from PEDIDOS PED
inner join CLIENTES CLI on CLI.codcli = PED.codcli
inner join ITENS IT on IT.numpedido = PED.numpedido
inner join PRODUTOS PR on PR.codprod = IT.codprod
where
cli.codcli = @codigo
and ped.dataped between @dataini,@datafim
and pr.CODPROD = @codprod
group by cli.codcli, cli.nome, pr.codprod,pr.descricao, ped.mes(dataped)
order by ped.mes(dataped)
Exemplo do relatório e consequentemente os dados para o grafico de barra COD/NOME CLIENTE COD/DESC PRODUTO MES Qtde
001 Cliente 1 100 PRODUTO 100 01 10
001 Cliente 1 100 PRODUTO 100 02 15
001 Cliente 1 100 PRODUTO 100 03 20
001 Cliente 1 100 PRODUTO 100 04 30
001 Cliente 1 100 PRODUTO 100 05 25
001 Cliente 1 100 PRODUTO 100 06 20
001 Cliente 1 100 PRODUTO 100 07 40
001 Cliente 1 100 PRODUTO 100 08 15
001 Cliente 1 100 PRODUTO 100 09 20
001 Cliente 1 100 PRODUTO 100 10 30
001 Cliente 1 100 PRODUTO 100 11 45
001 Cliente 1 100 PRODUTO 100 12 50 Atte
Sérgio
Sergio Santos
Curtir tópico
+ 0Posts
02/01/2009
[devmedia .net]
Gostei + 0
02/01/2009
Sergio Santos
Gostei + 0
02/01/2009
[devmedia .net]
Gostei + 0
03/01/2009
Sergio Santos
Gostei + 0
04/01/2009
[devmedia .net]
1 - Vamos adicionar primeiro nosso Report Viewer para visualização dos relatórios em sua página ASP.NET: 2 - Agora basta configurar o Report Viewer para exibir o relatório escolhido, passando os parâmetros solicitados por ele. Abaixo segue o código comentado para exeutar a tarefa:
//Informa o modo de execução do relatório (Local ou Remoto)
Relatorios.ProcessingMode = ProcessingMode.Remote; //Informar respectivamente as URLs do Servidor Report Service e do Relatório a ser executado
Relatorios.ServerReport.ReportServerUrl = new Uri(“http://servidorrelatorio/reportserver”);
Relatorios.ServerReport.ReportPath = “/Empresa/Sistema/Relatorio”;
//Vamos criar a atribuir valores para os parametros
ReportParameter[] reportParams = newReportParameter[2];
reportParams[0] = new Microsoft.Reporting.WebForms.ReportParameter(“@Parametro1″, “valor1″);
reportParams[1] = new Microsoft.Reporting.WebForms.ReportParameter(“@Parametro2″, “valor2″);
//Atribumos os parametros criados para o relatorio
Relatorios.ServerReport.SetParameters(reportParams);
//Desabilita o barra de parametros do Report viewer
Relatorios.ShowParameterPrompts = false;
//Atualiza o relatorio para exibição
Relatorios.ServerReport.Refresh(); Caso não tenha o ReportViewer instalado baixe aqui:
Download do ReportView:
http://msdn.microsoft.com/vstudio/express/vwd/download/default.aspx Para geração dos gráficos funciona da mesma maneira, você arrasta o componente Chart para o relatório e passa os parâmetros da mesma maneirca como em um realtório e da mesma maneira que é exibido na video aula. Segue abaixo um tutorial de como criar os gráficos... Gráfico de barras simples mostrando os Dez produtos mais caros. Para isso eu vou usar o banco de dados Northwind.mdf e a stored procedure : Ten Most Expensives Products. Crie um novo site web no menu File-> New Web Site, usando o template ASP .NEt Web Site, com o nome ReportGraph1; A seguir selecione a página Default.aspx e a coloque no modo Design. Agora a partir da ToolBox , guia Data, selecione e arraste para a página o componente ReportViewer; Na barra ReportViewer Tasks clique no link - Design a new report para iniciar a criação de um novo relatório; No menu Data, selecione Show Data Sources e a seguir clique no link - Add New Data Source - para incluir uma fonte de dados em nosso projeto; O assistente de configuração irá surgir; Na janela Choose your Data Connection , selecione uma conexão com o banco de dados Northwind.mdf e clique em Next>; Na próxima janela aceite nome padrão dado a string de conexão e clique no botão Next> deixando marcado a opção para salvar a string de conexão no web.config; Na janela Choose a Command Type marque a opção : Use existing stored procedures e clique no botão Next>; Na janela - Bind Commands to Existing Stored Procedures - caixa Select , escolha a stored procedure : Ten Most Expensive Products e clique em Next>; A seguir clique no botão Next> e para encerrar em Finish; Ao término desta etapa você verá o dataset criado exibindo os campos - UnitPrice e TenMostExpensiveProducts, a ToolBox do Report e os arquivos do projeto conforme figura abaixo; Agora vamos arrastar o componente Chart da ToolBox e soltar no relatório. Você verá o componente exibindo um modelo gráfico. Na janela Data Sources selecione o campo UnitPrice e arraste e solte na seção - Drop data fields here; Na sequência arraste e solte o campo TenMostExpensiveProducts na seção - Drop category fields here; Clique com o botão direito sobre o gráfico e selecione a opção: Properties; Será aberta a janela Chart Properties. Vamos efetuar as seguintes configurações: Na guia General : - Defina o nome do gráfico - netChart;
- Selecione a Pallete : Default;
- Informe o título do gráfico: Dez Produtos mais caros;
- Selecione o tipo de gráfico: Column Chart; Nota: Temos diversas opções de gráficos: Barras, Linhas, Pizza, Área
Bolha, etc. Na guia X Axis , informe o título do eixo x : Produtos Na guia Y Axis, informe o título do eixo y : Preço (R$) Na guia Legend desmarque a opção Show Legend. Nas demais guias não vamos alterar nenhum valor. Agora faça alguns ajustes no tamanho do relatório e do componente ReportViewer na página Default.aspx. Selecione o formulário Web Default.aspx e no componente ReportViewer em Choose Report escolha o relatório que criamos chamado : report1.rdlc. Executando o projeto iremos obter a página Default.aspx exibindo o relatório: Vamos agora incrementar o nosso relatório. Que tal exibir na cor azul os produtos com preço acima de R$ 100 e os demais na cor vermelha ? Para isso vamos incluir uma fórmula no relatório da seguinte forma: Selecione o relatório report1.rdlc e clique com o botão direito do mouse sobre o mesmo; Selecione a guia Data e em Values clique no botão Edit; Na janela Edit Chart Value selecione a aba Appearance e clique no botão Series Style...; Na janela Style Properties clique na aba Fill; A seguir clique no botão Fx relacionado a propriedade Color; A seguir defina na janela Edit Expression a expressão abaixo para exibir em azul produtos com preço maior que 100 e o restante em vermelho; Executando novamente o projeto iremos obter a página Default.aspx exibindo o seguinte gráfico: Usar o Report Viewer para criar gráficos é muito simples e ainda podemos aplicar alguns recursos. Sérgio, se mesmo assim não conseguir resolver o problema me avise que eu dou um jeito de explicar melhor. Estou aqui para resolver seu problema e te atender, ok!? Grande Abraço Carlos Jr
Gostei + 0
05/01/2009
[devmedia .net]
Gostei + 0
07/01/2009
Sergio Santos
Prezado Carlos Algumas dúvidas: 1o) Existe alguma maneira de configurar o report Viewer para que o relatório já saia em modo Retrato (Horizontal) qdo for impresso? 2o) Existe alguma maneira de configurar as margens de um relatório? Atte Sérgio
Gostei + 0
07/01/2009
[devmedia .net]
Direita 2 cm Largura "real" do relatório "designer" item "body" Largura = Largura da página - Margem Esquerda - Margem Direita Abraços
Carlos Jr
Gostei + 0
08/01/2009
Sergio Santos
Gostei + 0
08/01/2009
[devmedia .net]
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)