2009-02-20 5 views
9

J'ai un rapport RDLC et souhaite que l'une des colonnes d'un tableau de ce rapport affiche des images. La source de données pour mon rapport est une classe qui a une propriété appelée Image de type System.Drawing.Image.Comment afficher des images dans un rapport RDLC

Sur mon rapport, je traîna un contrôle d'image sur la colonne et je définissez les propriétés suivantes:

MIMEType: image/png 
Source: Database 
Value: =Fields!Image.Value 

Quand je lance mon rapport, je reçois une image cassée.

J'apprécierais vraiment toutes les suggestions!

Merci à l'avance: o)

Répondre

10

Je ne sais pas si cela est la meilleure solution, mais je l'ai eu à travailler. Il semble que le problème était en utilisant System.Drawing.Image.

Dans ma classe, j'ai créé une nouvelle propriété appelée ImageByte de type byte []. Je ne l'ai pas un poseur pour ImageByte, mais je fait un getter qui effectue les opérations suivantes:

MemoryStream ms = new MemoryStream(); 
Image.Save(ms, System.Drawing.Imaging.ImageFormat.Png); 
return ms.ToArray(); 

Je mis à jour mon rapport a = Les champs ImageByte.Value pour la valeur et maintenant tout semble fonctionner comme prévu: o)

4

Tout d'abord, vous prenez un nouveau formulaire dans votre projet sur événement Load Wright cette ligne ci-dessous:

reportViewer1.LocalReport.EnableExternalImages = true; 

Après cela prendre ReportViewer sur cette page et définissez balise active de cela, choisissez Conception un nouveau rapport et prendre un contrôle de l'image à partir de ToolBox, définir sa propriété

Source = External Value = file:\D:Images\Sunset.jpg 

Note: l'image (Sunset.jpg) enregistré dans le dossier Images sur le lecteur D. Vous l'avez changé en fonction de vos besoins.

Questions connexes