Professional Documents
Culture Documents
Carregando Imagens Dinâmicas No Crystal Reports
Carregando Imagens Dinâmicas No Crystal Reports
Trabalhar com imagens em relatórios do Crystal Reports sempre foi uma dor de cabeça. Simplesmente ,
dependendo da versão, não havia suporte para realizar determinada tarefa. A partir da versão 11, o
Crystal Reports passou suportar a carga dinâmica de imagens.
A versão que acompanha o VS.NET 2003 ainda não traz este recurso mas podemos contornar a situação
usando um truque. Vamos usar um dataset e definir um campo do tipo base64Binary que irá receber a
imagem como um stream de bytes. A conversão da imagem para um stream de bytes é feita por uma
rotina para cada imagem usando as classes do namespace System.IO.
Então para você não ficar quebrando a cabeça a toa, o exemplo mostrado aqui somente vai funcionar se
você tiver o Visual Studio .NET 2003/2005. Você pode usar uma versão separada do Crystal para criar o
relatório mas ela tem que suportar datasets.
Crie um novo projeto no VS.NET 2003 com o nome de relatorioBandasFamosas (este nome vem do fato
que eu vou exibir imagens de algumas bandas de rock)
- Informe o nome
dsBandasFamosas.xsd para o
dataset;
- Informe o nome
rptBandasFamosas.rpt ;
A seguir na janela DataBase Expert selecione em Project Data -> ADO.NET DataSets e marque o datset
que foi criado no projeto selecionando a seguir a tabela usando o botão com as duas setas conforme
figura abaixo:
- Para fazer
isto clique
com o botão
direito
sobre o
local onde
deseja
incluir a
imagem e
selecione :
Insert ->
Picture
Vamos voltar para o formulário padrão form1.vb e alterar seu nome para frmBandasFamosas.vb. A
seguir inclua no formulário um componente CrystalReportViewer e um botão de comando - Button -
conforme figura abaixo:
Return (br.ReadBytes(Convert.ToInt32(br.BaseStream.Length)))
End Function