簡體   English   中英

將圖片框中的圖像分配給rdlc報告

[英]Assign image from picturebox to rdlc report

我想知道是否有可能將GUI中的Picturebox中的圖片添加到rdlc報告中。 現在我對所有字符串都這樣做,但是我也想添加一張圖片。

reportViewer3.Visible = true;

        DataSet2 DsActivityReport = new DataSet2();
        ReportDataSource reportDataSource = new ReportDataSource();
        reportDataSource.Name = "DataSet1";
        reportDataSource.Value = DsActivityReport.Tables[0];


        ReportParameter name = new ReportParameter("NAME", txtNAME.Text);
        ReportParameter employee_id = new ReportParameter("EMPLOYEE_ID", txtEmpNo.Text);
        ReportParameter company_id = new ReportParameter("COMPANY_ID", txtCompany.Text);
        ReportParameter emp_no = new ReportParameter("EMP_NO", txtEmpNo.Text);
        //ReportParameter emp_picture = new ReportParameter("picture", );

        reportViewer3.LocalReport.EnableExternalImages = true;
        reportViewer3.LocalReport.DataSources.Clear();

        reportViewer3.LocalReport.SetParameters(new ReportParameter[] { name, employee_id, company_id, emp_no});
        reportViewer3.LocalReport.DataSources.Add(reportDataSource);

        reportViewer3.RefreshReport();

我真的希望在那里能有所幫助,因為我幾乎迷失了。。嘗試了一整天,但是找不到解決我問題的方法。

我試圖做到這一點:

我的參數值稱為圖片。 = System.Convert.FromBase64String(Parameters!picture.Value)

和代碼:

 public string ConvertImgToBase64String()
    {
        byte[] arrpic;
        using (MemoryStream ms = new MemoryStream())
        {
            picEmployee.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            arrpic = ms.ToArray();
        }
        string base64String = Convert.ToBase64String(arrpic);
        return base64String;
    }
  ReportParameter Picture = new ReportParameter("picture", ConvertImgToBase64String());

reportViewer3.LocalReport.SetParameters(new ReportParameter[] { name, employee_id, company_id, emp_no, Picture });

但圖片沒有,也沒有錯誤信息。

Dim arrPic as byte() = /*Load the image as array of byte
Convert byte() to BASE64 */
Dim sIMGBASE64 as String = Convert.ToBase64String(arrPic))
/*Add the BASE64 stream to the parameters*/
paramList1.Add(New ReportParameter(<sparamname>, sIMGBASE64)

在報表上,設置“圖片框”的“值”屬性,如下所示:

Value=System.Convert.FromBase64String(Parameters!<sparamname>.Value)

嘗試使用您的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM