DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Utilizando relatórios Crystal Reports no Visual Studio.Net 2005

Neste artigo estarei apresentando o desenvolvimento de relatórios utilizando o Crystal Report através do Visual Studio.Net 2005.

Neste artigo estarei apresentando o desenvolvimento de relatórios utilizando o Crystal Report através do Visual Studio.Net 2005. O Crystal Reports é a mais conhecida ferramenta de geração de relatórios e através do Visual Studo.Net temos incorporados os principais recursos do Crystal Reports integrados ao ambiente de desenvolvimento .Net, facilitando o desenvolvimento de relatórios para nossos projetos, bem como a sua utilização.

Para exemplificar este artigo, será desenvolvido uma aplicação onde utilizarei um banco de dados desenvolvido no SQL SERVER Express como fonte de dados para o relatório e um projeto Windows Application usando como linguagem de codificação o Visual Basic.Net.

Para começar vamos criar um novo projeto no Visual Studio.Net 2005.

crystalreportsfig01.JPG
Figura 1 –
Criar Novo WebSite.

O segundo passo é adicionar uma nova fonte de dados ao nosso projeto que pode ser feita através do Menu Data -> Add New Data Source. Para isso vamos criar uma nova conexão.

crystalreportsfig02.JPG
Figura 2 –
Adicionando uma conexão.

Na Janela seguinte, vamos escolher a fonte de dados a partir de um database; Clique em Next. Na próxima janela clique no botão NEW CONNECTION para adicionar uma nova conexão com o banco de dados. Configure os seguintes campos:

·         Server Name: nome do servidor de banco de dados SQL SERVER;

·         Logon on the Server: logon no servidor, que poder ser Windows Authentication ou SQL Server Authentication, onde deverá ser informado um user name e um password para se conectar a base de dados.

·         Connect to database: base de dados que será conectada.

crystalreportsfig03.JPG
Figura 3 – Adicionar Conexão com o Banco de Dados.

Antes de confirmar as configuração , faça um teste na conexão para verificar se está tudo OK. Clique em OK e a conexão será criada.  Na próxima janela, selecione quais tabelas deseja inserir no dataset que deverá ser criado após a configuração do Data Source.

crystalreportsfig04.JPG
Figura 4 –
Adicionando as tabelas ao DataSet.

Ao final das configurações acima, será criado um arquivo .XSD que representa o dataset com as estruturas e relacionamentos entre as tabelas definidas no passo anterior.

crystalreportsfig05.JPG
Figura 5 –
DataSet criado após a configuração do Data Source.

Feito as etapas anteriores, estaremos começando o processo de criação do relatório. Adicione um novo item ao Projeto do tipo CrystalReport chamado de 'RelatoriosVeiculos' e será carregado automaticamente um Wizard para configurar o Relatório.

crystalreportsfig06.JPG
Figura 6 – Crystal Reports Gallery.

Selecione a opção para criar um relatório usando o Report Wizard. Na Janela seguinte, vamos configurar a fonte de dados do relatório. Vá até o diretório: ADO.Net DataSets, e adicione o dataset criado: dsVeiculos e clique em Avançar.

crystalreportsfig07.JPG
Figura 7 –
Configurando a fonte de dados para o relatório.

Na janelas seguintes, vamos definir quais os campos que serão visualizados no relatório, selecionando os campos desejados.  Clique em avançar. As janelas seguintes são janelas de configuração de agrupamento e filtros, para esse exemplo não estaremos aplicando essas configurações, sendo assim clique em AVANÇAR nas janelas seguintes. A última janela é a janela de configuração do Layout do Relatório, como estamos trabalhando apenas para exemplificar, escolhemos o relatório padrão.

Vejamos como ficou o relatório após configurado:

crystalreportsfig08.JPG
Figura 8 –
Relatório Exemplo.

Com o relatório pronto podemos trabalhar com o mesmo e mudar o layout de acordo com as necessidades, como: cor, fontes, agrupamentos, fórmulas, campos especiais e etc.

Feito a etapa anteriores, irei conectar o relatório com Crystal Report Viewer, que será o componente utilizado para visualizar o relatório no formulário. Na aba Crystal Reports da ToolBox, arraste o componente Crystal Reports Viewer para o formulário.

No Evento Load do formulário, informaremos ao controleCrystalReportViewer qual será o arquivo que ele deverá exibir, dessa forma o código do evento Load deverá ficar assim: 

       Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Dim rpt As New RelatoriosVeiculos 'cria um objeto rpt do tipo Relatorios Veiculos

        Dim ds As New dsVeiculos 'data set do tipo dsVeiculos

 

        Dim adapter As New SqlDataAdapter("Select * FROM VEI_VEICULOS", My.Settings.Six_05_10ConnectionString) 'objeto adapter usado para preencher o dataset

 

        adapter.Fill(ds, "VEI_VEICULOS") 'preenche o dataset

 

        rpt.SetDataSource(ds) 'altera o datasource do relatorio para o dsVeiculos que está preenchido

 

        CrystalReportViewer1.ReportSource = rpt 'informa o relatorio que será carregado pelo crystal report viewer

End Sub

É hora de testar a solução, compile e execute o projeto. Se tudo ocorrer certo, teremos o seguinte resultado:

crystalreportsfig09.JPG
Figura 9 –
Visualização do Relatório.

Chegamos ao final do artigo, onde vimos o quão fácil é desenvolver relatórios Crystal Reports utilizando a IDE de Desenvolvimento Visual Studio.Net 2005.

Até o próximo,

Regilan Meira Silva





    14 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Gemoura
Amigo, Minha dúvida é a seguinte: Imagina que um usario faz uma pesquisa e monte um select, este vai ser jogado no dataset para alimentar o relatorio, mas e um segundo usuario também monte um outro select 5 segundos depois (na mesma tela) e também manda para o dataset, se o usuario 1 dar um refresh no reltario teoricamente ele não ira visualizar os mesmo dados e sim o do 2 usuario como resolver isso ? ou seja esse select tem que estar em memorio
[há +1 ano] - Responder

 

Regilan
Ola amigo...essa dúvida se refere a visualização dos relatorios crystal na WEB ou Windows? Porque no windows, a aplicação vai ta instalada em cada maquina, o servidor vai apenas retornar a consultar e mandar pro dataset que ta na maquina do usuario. Se for via web, uma solução que pensei para seu problema seria criar uma variavel de sessão para armazenar o dataset. Dessa forma, cada usuario do sistema terá seu dataset com a sua consulta armazenada em uma variavel de sessão.
[há +1 ano] - Responder
 

Gemoura
Regilan, Nossa aplicação é web e pretendemos utilizar um dataset em sessão (conforme sua sugestão), porém estamos entendo que para criarmos o relátorio, o CR necessita de uma tabela fisica e para exibir os dados esta tabela seria substituida pelo dataSet criado em tempo de execução. É isso mesmo ? Obrigado pela resposta anterior
[há +1 ano] - Responder
 

Regilan
Olá amigo..Veja bem, você poderia fazer o seguinte...Crie um dataset para a sua aplicação. Lá no crystal você define que vai usar a dataset que você criou como fonte de dados do seu relatorio. Na sua aplicação voce instancia um dataset do tipo que você criou. Exemplo: supondo que seu dataset chame dsExemplo. Dim ds as new dsExemplo Aí você popula o objeto ds. Dpois você altera o datasource do seu relatorio para o ds criado. relatorio.SetDataSource = ds Esse ds deve está em sessão. Você testou dessa forma?
[há +1 ano] - Responder
 

Sayeg E Comercial Spínola Informática Sc Ltda.
Tenho uma duvida qdo subir o projeto na Web com Relatórios em Crystal o provedor precisa ter a licença de uso , ou não
[há +1 ano] - Responder

 

Regilan
Olá Amigo, estou te passando o link abaixo que é uma FAQ onde você poderá tirar suas duvidas sobre o modo de licensa do Crystal Reports. Espero que possa te ajudar. Segue o link: http://www.businessobjects.com/register/faq.asp
[há +1 ano] - Responder
 

Robson
Parabéns, era exatamente o que eu procurava, rodei a internet procurando algo a respeito, muitos sites dão voltas e voltas e não explicam nada.
[há +1 ano] - Responder

 

Regilan
Valeu Robson!!! Obrigado!!
[há +1 ano] - Responder
 

Fernando
Bom artigo, mas tenho uma duvida porque quando vou instaciar uma variavel do tipo relatorio ele não aparce pra mim.
[há +1 ano] - Responder

 

Regilan
Ola Fernando..você tem certeza de esta instanciando corretamente..Supondo que seu relatorio se chame : Relatorio.rpt Para instanciar você deve fazer: Dim nomedavariavel as new Relatorio Como você está fazendo?
[há +1 ano] - Responder
 

Carlos Felipe
Regilan, antes de tudo parabéns pelo artigo, muito útil e bem escrito. Também estou com o mesmo problema, ao instanciar ele não reconhece o nome do relatório e me dá "Tipo não definido"
[há +1 ano] - Responder
 

Edsonbassani@gmail.com
Veja se o seu relatorio está instanciado a nível de classe. Ja passei por isso com o componentes de relatorios nativo do 2005. Espero ter ajudado!
[há +1 ano] - Responder
 

Giuliano Silva
Caro Regilan... Como faço para mudar a cor do texto de um determinado campo se esse campo contiver "*- PAGO" ?? Tipo Assim: nomeCampo.text like *- PAGO then nomeCampo.color = BLACK else nomeCampo.color = RED Valew
[há +1 ano] - Responder

 

Claudio Paranhos
Caro Giuliano.. no relatório em modo de design selecione o campo que você quer mudar a cor selecione com o botão direito Format Object. Na guia Font clique no botão de fórmula do item Color e no editor de fórmulas digite o código a seguir: if {tabela.campo} = "xyz" then red else black []s
[há +1 ano] - Responder
 



[Este post ainda não foi associado a uma sequência]
Publicidade
Autor
Regilan Meira Silva

Regilan Meira Silva (regilan@gmail.com), é Bacharel em Ciência da Computação pela Universidade Estadual de Santa Cruz(UESC) em Ilhéus, Bahia e Especialista em Administração de Sistemas da Informação pela Universidade Federal de Lavras em Lavras, Minas Gerais. Trabalha com desenvolvimento de sistemas...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
15   4
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03