با سلام، من از این روش برای ارسال عکس به Bussiness Object استفاده کردم، که در واقع یک لیست رو که در برنامه C# ساخته شده و یک ستون عکس داره رو میخوام گزارش بگیرم، علاوه بر توضیحات شما
از این مطلب هم استفاده کردم. اما ستون تصاویر نمایش داده نمیشه و یا اینکه به ازای typeهای مختلف عبارت هایی مثل عبارت زیر نمایش داده میشه:
System.Drawing.Bitmap
تصاویری که داشتم در دیتابس sql ذخیره شده و من برای یک گزارش جدید دیگه نمیخوام توی sql إخیره کنم و نیاز دارم که لیست رو مستقیما به گزارش ارسال کنم. ممنون میشم راهنمایی کنید.
private void ModifyItemList()
{
ItemList.Clear();
var AllItems = from BetaData in BetaContext.BetaDatas
where BetaData.ProjectName == Globals.ProjectName &&
BetaData.ProjectCode == Globals.ProjectCode &&
(BetaData.Type == Globals.Types.Partition || BetaData.Type == Globals.Types.Door)
select BetaData;
foreach(BetaData data in AllItems)
{
byte[] imageByte = data.Image.ToArray();
MemoryStream MS = new MemoryStream(imageByte);
Image img = Image.FromStream(MS);
StiImage stiImg = new StiImage();
stiImg.Image = img;
Items newItem = new Items
{
Image = img,
Name = data.Name
};
ItemList.Add(newItem);
}
}
private void modiefieItemListToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void modifiedItemListToolStripMenuItem_Click(object sender, EventArgs e)
{
ModifyItemList();
ModifiedItemListReport.RegBusinessObject("Items",ItemList);
ModifiedItemListReport.Compile();
ModifiedItemListReport.Render();
ModifiedItemListReport.Show();
}
public class Items
{
public string Name { get; set; }
public Image Image { get; set; }
}