我使用刺激性报告从数据库收集图像数据,我使用变量将参数列表集合传递给我的报表,但它不起作用!!我的代码如下所示:
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();发布于 2017-08-20 10:05:33
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();发布于 2020-12-19 08:35:36
我认为你的问题会用这个例子解决。
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);https://stackoverflow.com/questions/45714999
复制相似问题