Jamal Kaksouri
Jamal Kaksouri

Reputation: 1894

How to show collection image data without url image from database in stimul Report

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

Answers (2)

Hossein Mousavi
Hossein Mousavi

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

Jamal Kaksouri
Jamal Kaksouri

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

Related Questions