RDLC,在不同的数据库值上显示不同的图像/图片,c#

时间:2009-10-29 14:32:14

标签: c# rdlc image

如何根据rdlc报告中数据库中的值显示不同的图片? 例如,costumer - K1,想要picture1,而costumer K2,想要picture2。但我希望这个值代替显示图片。

我的客户被插入一张桌子。然后发送到rdlc。这是有效的,所以我可以获取不同的客户名称,但我希望值1显示图片1,而值2显示图片2。 我的数据库中有一个参数显示rdlc中的值。如果这是不可能的任何其他快速解决方案如何在值不同时显示不同的图片?

2 个答案:

答案 0 :(得分:2)

您可以向数据集添加字节数组列,并根据所需条件初始化该列。我用它来根据报告中的数据显示动态图形。

Bitmap img = new Bitmap(width, height);  // bitmap to display
// paint in the bitmap here

MemoryStream ms = new MemoryStream();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Png);  // save bitmap to a memory stream

dataRow["pictureColumn"] = ms.GetBuffer();

现在,您可以将pictureColum(定义为字节数组)设置为图片对象的源。

答案 1 :(得分:0)

或者,如果使用Linq to SQL,则可以将属性添加到结果集中类型的partial类中。我为报告使用存储过程,并使用此代码为订单号添加条形码图像:

[Table]
public partial class sp_rpt_wcfResult
{
    public byte[] OrderNumLabel {
        get {
            return
                BarcodeUtilities.ConvertImageToByteArray(
                  BarcodeUtilities.GetBarcodeImage(this.order_number.ToString()),
                  System.Drawing.Imaging.ImageFormat.Bmp);
        }
    }
    ....