Report con immagini.

mercoledì 08 febbraio 2012 - 10.35
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  Visual Studio 2008  |  Access (.mdb)  |  Crystal Reports 2008

iif Profilo | Expert

Ciao, devo inserire a runtime delle immagini in un report.
Vorrei passare all'immagine il percorso della stessa e farla visualizzare nel report.
Dove posso trovare degli esempi o tutorial?
Grazie.

ysdemarc Profilo | Expert

Io non ci sono mai riuscito gli unici modi che ho trovato per farli con crystal report sono questi:
1) il più banale e "stupido", se erano poche immagini, tipo il logo di intestazione lo mettevo sul report e lo visualizzavo o meno
2) ho utilizzato i campi blob, quindi nel caso di immagini fisiche creavo un datatable secondario collegato a quello dei dati mi scorrevo le singole righe e per ogni riga inserivo l'immagine nel campo blob.

potresti fare quindi così:
DataTable dt = new DataTable("immagini"); dt.Columns.Add("chiave", typeof(string)); dt.Columns.Add("Image", typeof(byte[]));

poi ciclando sulle righe dei dati principali all'inteno del ciclo potresi scrivere questo:

DataRow dr = dt.NewRow(); byte[] blob = ToBlob(file); if (blob == null) { dr["Image"] = DBNull.Value; } else { dr["Image"] = blob; } dt.Rows.Add(dr);

dove file è il percorso del file immagine e ToBlob è la seguente funzione:

public static byte[] ToBlob(string file) { FileStream fs = null; byte[] result = null; if (File.Exists(file)) { //Legge i dati del file indicato in un buffer fs = new FileStream(file, FileMode.Open, FileAccess.Read); result = new byte[fs.Length]; fs.Read(result, 0, (int)fs.Length); fs.Close(); } return result; }

altri modi, dando a crystal report il percorso, sarei interessato anch'io a scoprirlo.

ciao
Vincenzo
Programmatore sbilenco

totti240282 Profilo | Guru

Purtroppo ci ho sbattuto la testa anche io e l'unico modo sono i cambi BLOB , devo dire una grandissima mancanza !!!!!!!!!!
C'è solo un capitano !!!!!!

iif Profilo | Expert

Grazie.

freeteo Profilo | Guru

Ciao a tutti,
confermo che l'utilizzo dei campi BLOB è l'unico modo per le versioni < XI di crystal di fare apparire immagini dinamicamente.
In questo articolo si parla proprio di questo: http://www.dotnethell.it/tips/Crystal-Reports-BLOB.aspx

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5