Reputation: 1894
i use stimulsoft report for report collection image data from database, I use variable to pass parameter list collection to my report but it not working!! my code shown below :
var imgConverter = new ImageConvert();
var report = new StiReport();
var t = new DataTable();
t.Columns.Add("Img");
foreach (DataGridViewRow dgv in dataGridViewX3.Rows)
{
t.Rows.Add(
imgConverter.ByteArrayToImage((byte[])dgv.Cells["BarcodeImg"].Value)
);
}
report.Load("BarcodeReport.mrt");
report.RegData("DSBarcode", t);
report.Compile();
report.Show();
Upvotes: 0
Views: 802
Reputation: 11
I think your problem will be solved with this example
DataSet ds = new DataSet(); System.Drawing.Image img =
System.Drawing.Image.FromFile(Server.MapPath("") +
"//image//titleLogo.jpg");
byte[] bytes = (byte[])(new ImageConverter()).ConvertTo(img, typeof(byte[]));
dtTicket = new DataTable(); dtTicket.Clear();
dtTicket.Columns.Add("imgLogo", typeof(byte[]));
Row = dtTicket.NewRow(); Row["imgLogo"] = bytes;
dtTicket.Rows.Add(Row); ds.Tables.Add(dtTicket);
Upvotes: 1
Reputation: 1894
var imgConverter = new ImageConvert();
var report = new StiReport();
var t = new DataTable();
//you should be define type of object in overload DataTable Column
t.Columns.Add("img", typeof(Image));
foreach (DataGridViewRow dgv in dataGridViewX3.Rows)
{
t.Rows.Add(
imgConverter.ByteArrayToImage((byte[])dgv.Cells["BarcodeImg"].Value)
);
}
report.Load("BarcodeReport.mrt");
report.RegData("DSBarcode", t);
report.Compile();
report.Show();
Upvotes: 0