Posts
Daniel sua dúvida é com o Report Service ou Viewer?
Caso seja o Report Viewer segue um mini tutorial.
Espero ter ajudado.
Fabio Galante Mans
ReportViewer usando parâmetros
1- Abra o VWD e crie um novo Web Site com o nome de reportViewer1 (ou algo parecido)
2- Selecione a página Default.aspx e altere o seu nome para ContatosPais.aspx e no modo Design abra a ToolBox e procura na aba Data pelo componente ReportViewer.(Se você instalou o add-in corretamente ele deverá aparecer neste local). Selecione o componente e arraste-o e solte na página você verá o descritor do ReportViewer exibido conforme a figura abaixo:
3- Selecione a opção Design a new Report do descritor
4- Será exibido a janela Design do ReportView exibindo o relatório Report1.rdlc conforme a figura abaixo:
Altere o nome do relatório para CustomersByCountry.rdlc.
Perceba que a ToolBox apresenta um novo formato com a Aba Report Items exibindo os objetos : Pointer,TextBox,Line,Table,Matrix,Rectangle,List,etc...
Vamos trabalhar com objeto Table arrastando e soltando o mesmo na seção Body do descrito do ReportViewer. Fazendo isto obtemos:
Altere a visualização para a aba WebSite Data Sources e a seguir clique no em Add New Data Source. O assistente de configuração irá surgir , selecione a banco de dados Northwind.mdf e clique em Next>
A seguir selecione a tabela Customers e defina uma instrução SQL digitando diretamente ou usando o Query Builder conforme mostrado abaixo:
Na janela do assistente marque somente a opção Return a DataTable informando o nome : GetDataByCountry para o nome do método que irá retornar os dados da tabela Customers.
Ao final teremos um DataSet tipado Northwind.xsd definido com um tableAdpater conforme mostrado a seguir:
Inclua mais duas coluna no objeto Table inserido no descritor clicando com o botão direito do mouse sobre o objeto e selecionando a opção: Insert Column to the Right
A seguir arraste cada um dos campos do dataset para o descritor conforme a figura abaixo e o relatório estará pronto para exibir os dados da tabela Customers.
Retorna para a página ContatosPais.aspx e inclua os seguintes controles acima do ReportViewer: Label(ID=Label1), TextBox (ID=txtPais) e Button (ID=btnFiltrar) e no componente selecione o relatório criado CustomersByCountry.rdlc.
Vamos agora configurar o ObjectDataSource clicando na guia objectDataSource Tasks e selecione a opção Configure Data Source. A seguir faça o seguinte:
a - Selecione o Business Object - CustomersTabelAdapter
b- Defina o método GetDataByCountry do TableAdapter
c- Defina o parâmetro Country cuja origem será um controle chamado txtPais que é o controle TextBox onde o usuário vai digitar o nome do país.
Finalmente na página ContatosPais.aspx defina o código relacionado ao evento Click do botão - Filtrar:
Protected Sub btnFiltrar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnFiltrar.Click
ReportViewer1.LocalReport.Refresh()
End Sub
Pronto! Agora basta executar o projeto e quando a página ContatosPais.aspx for apresentada informar o nome do pais para filtro no formulário. O resultado pode ser visto abaixo:
====================================================
Tenho te perturbado bastante???
Bom hj a Duvida é em relação ao Report, estou criando relatórios simples com ele, mas agora preciso criar um relatório que permita ao usuário estipular o período, esse é um relatório de vendas e precisa dessa facilidade.
No crystal eu vi q ele tem essa facilidade e no Report tem tbm se tiver vc não poderia criar um exemplo p/ que eu possa entender como deve criar
06/02/2009
Daniel Porfirio
Olá Fabio!!
É +- isso so que acabei postando na sala Web....e a minha aplicação e windows form
vc teria algo mais específico p/ windows Form
agradeço desde já
Daniel a idéia é a mesma, vou mostrar outro tutorial abaixo. Para Windows, você vai fazer a mesma coisa que mostrei no post anterior, porém para Windows Forms. Você chegou a ler?
Fabio Galante Mans
No menu Data selecione a opção Add New Data Source para criar a fonte de dados do relatório;
Na janela - Choose a DataSource type - selecione DataBase e clique em Next>;
A seguir selecione a conexão com o banco de dados Northwind (se ela não existir clique no botão New Connection e crie a conexão) e clique em Next>;
Na próxima janela salve a string e conexão com o nome padrão - northwndConnectionString - e clique em Next>
Na janela - Choose your database objects - não vou selecionar nenhum objeto , vou apenas clicar no botão Finish e confirmar a mensagem de que quero apenas criar um DataSet Vazio;
Agora , na janela Solution Explorer , selecione o dataset criado - northwindDataSet.xsd e clique com o botão direito do mouse selecionando Add -> TableAdapter;
Confirme a utilização da string de conexão que salvamos no passo anterior e clique em Next>;
Na próxima janela marque a opção - Use SQL statements e clique no botão Next>;
Na próxima janela clique no botão - Query Builder - e na janela Add Table - selecione as tabelas Products e Categories e clique no botão Add;
No Query Builder crie uma consulta SQL selecionando os campos ProductName , UnitPrice, UnitsInStock e Discontinued da tabela Products e CategoryName da tabela Categories;
Podemos clicar no botão OK e a seguir no botão Finish. O resultado final será o dataset criado conforme a figura a seguir.(Altere o nome do TableAdapter para ProductsCategory);
Agora já podemos criar o nosso relatório.
Na janela Solution Explorer selecione o formulário form1.vb e, a partir da ToolBox na guia - Reporting - arraste e solte no formulário o componente - MicrosoftReportViewer;
A partir da guia ReportViewer tasks clique em - Dock in parent container - para ajustar o componente no formulário e a seguir clique no link - Design a new report;
O assistente para criação do relatório será acionado ,clique no botão Next>
Na janela Select the Data Source , selecione o dataset criado e clique no botão Next>
A próxima janela selecione o tipo de relatório , Tabular ou Matrix, no exemplo eu marquei a opção Tabular. Clique em Next>
Na janela Design the Table vamos definir o agrupamento por CategoryName e exibir os campos UnitPrice, UnitsInStock e Discontinued em Details;
Na janela Choose the Table Layout , podemos selecionar a opção para incluir subtotais no relatório e o recurso de drilldown.
Agora vamos definir um estilo para o relatório , e só selecionar e clicar em Next>
Na última janela do assistente vemos as configurações usadas para o relatório e podemos informar o nome do relatório, no exemplo : ProductsCategory;
Ao terminar a criação do relatório iremos ver o descritor exibindo os campos e o leiaute do mesmo. Vemos também na Report Items os objetos que podemos usar para customizar o relatório;
Selecione o formulário e no componente ReportViewer1 selecione na opção - Choose Report - o relatório criado acima;
Executando o projeto neste instante iremos obter o relatório exibido na figura a seguir:
Observe que:
- Os produtos são exibidos agrupados por categoria;
- Observe que o recurso de drilldown permite expandir e visualizar os itens de uma categoria;
- Note também que há uma totalização por categoria;
06/02/2009
Daniel Porfirio
Li sim
Fabio eu tenho relatórios simples como esse montado, estou tendo dificuldade em montar um relatório por período (Vendas por Período) antes do relatório pular na tela eu queria que o usuário colocasse o intervalo da Data. Tipo 010109 a 060209
Passa a sua query, em algum momento ela deve ter um Where Periodo, e a idéia é fazer como no primeiro tutorial.
06/02/2009
Daniel Porfirio
Luiz
Onde encontro esse objectDataSource no Windows Form isso q eu ainda não assimilei
Olá Daniel tudo bem?
Eu montei rapidamente um exemplo que acho que irá ajudar.
Primeiro eu segui o tutorial que te passei acima com Windows Forms, o que fiz diferente foi mudar a minha Query que está no DataSet
SELECT cod_help, nome, email, setor1, telefone, solicitacao, data, status, assunto, tipo, responsavel, prioridade, data_conclusao, atendente,
data_prev_conclusao, ores, local
FROM help_desk_informatica
WHERE (data_conclusao BETWEEN @Param1 AND @Param2)
Você vai fazer a mesma coisa para definir o período de vendas que você precisa.
Perceba na tela abaixo que quando você definir o DataSource o método Fill irá solicitar os parâmetros, eu fiz diferente, informei as datas diretamente, você pode colocar o método no botão e passar como parâmetro os dois textbox.
Tente fazer como eu fiz e retorne caso tenha alguma dúvida.
Espero ter ajudado.
Fabio
10/02/2009
Daniel Porfirio
Valeu Fabio mas resolvi, usando o crystal e o seus parameter
Muito Obrigado!!!!
Ate a proxima.....