2013-08-03 1 views
0

J'essaie d'afficher l'image dans le rapport de cristal. Dans le code ci-dessous, je convertis le chemin de l'image dans le flux de fichiers puis j'ajoute la source du rapport via la table de données. mais l'image ne s'afficheL'image ne s'affiche pas dans le rapport de cristal

string path; 
DataTable dt = new DataTable(); 

path = Server.MapPath("~/img/logo.jpg"); 
DataColumn column = new DataColumn("Image"); //Create the column. 
column.DataType = System.Type.GetType("System.Byte[]"); 
dt.Columns.Add(column); 
DataRow row = dt.NewRow(); 
FileStream fs = new FileStream(path, System.IO.FileMode.Open, System.IO.FileAccess.Read); 
Byte[] Image = new Byte[fs.Length]; 
fs.Read(Image, 0, Convert.ToInt32(fs.Length)); 
fs.Close(); 
row["Image"] = Image; 
dt.Rows.Add(row); 
dss.Tables[0].Merge(dt); 
//set dataset to the report viewer. 
rptDoc.SetDataSource(dss); 
CrystalReportViewer1.ReportSource = rptDoc; 

Répondre

0

Il vous suffit d'enregistrer l'image sous forme de flux d'octets à base de données, vous n'avez pas besoin de convertir en revenir à l'utilisation dans les rapports de cristal, il suffit d'appeler le nom du champ à l'image en le faisant glisser et en le déposant sur le champ du rapport, l'image s'affichera. J'avais l'habitude de le faire en C#. J'espère que ça marchera pour toi aussi.

Questions connexes