none
Não Achei um Topico sebre Crystal Reports mas me ajudem se possivel RRS feed

  • Pergunta

  • Bom Dia Estou trabalhando com o VS2003 e Crystal 10 e tenho a seguinte situação:

    tenho uma Tabela no access onde armazeno a foto do Funcionario no formato Ole. Então criei um relatorio com base nesta tabela porem quando estou editando o relatorio a foto aparece mas quanto executo o projeto na Web ela não aparece.

    O que será que está acontecendo???

    Caso saibam tambem como fazer referencia a uma imagem dinamicamente no Crystal 10 por favor me passem que dai e vez de armazenar a foto como OLE armazeno o Caminho.

    Obrigado

     

    sexta-feira, 22 de dezembro de 2006 14:48

Respostas

  • Já precisei mostrar o logotipo da empresa em relatórios, onde o logotipo é um cadastro do usuário - uma imagem que o usuário escolhe e o programa a salva no banco de dados.

    Só pra você entender melhor o que vem a seguir, eu uso o Crystal da seguinte forma. Crio um XSD que contém as tabelas e colunas para o relatório, crio um RPT a partir do XSD. Então, meu programa monta um dataset com o mesmo esquema do XSD e o entrega ao Crystal.

    Para colocar o logotipo no RPT, criei uma coluna no XSD do tipo "base64binary". No RPT, é só arrastar este campo e o Crystal já trata como uma imagem. Mas a questão é o que colocar no dataset, né.

    O código abaixo mostra como fiz. Mas enquanto escrevia essa resposta, percebi que vou ficar devendo uma explicação. A variável "dadosImagem" é uma imagem serializada em string na base 64. Eu uso um método de um framework proprietário aqui no trabalho. Não sei se o .NET tem algum serviço pra isso.

    byte[] soPraPegarTipo = new byte[0]; //isso foi roubado; se alguém souber uma forma melhor de fazer isso, me fala, por favor.

    DataTable tabLogotipo = new DataTable("Logotipo");

    tabLogotipo.Columns.Add("Logotipo", soPraPegarTipo.GetType());

    DataRow rowLogotipo = tabLogotipo.NewRow();

    rowLogotipo[0] = Convert.FromBase64String(dadosImagem);

    tabLogotipo.Rows.Add(rowLogotipo);

    Espero que tenha sido útil.

     

    quarta-feira, 27 de dezembro de 2006 10:23