Report Viewer passe l’image du formulaire possible?

Utilisation de Visual Studio Ultimate 2012.

Je suis en train de créer un rapport à imprimer dans le visualiseur de rapports. Jusqu’à présent, j’ai un tas de zones de texte qui récupère ses valeurs dans les zones de texte de mon formulaire via des parameters.

Jusqu’ici tout fonctionne bien.

Ensuite, je frappe un problème majeur. Comment passez-vous une image de mes images sur mon formulaire à une image sur un rapport? 1 image pré existe sur une firebase database je crois que je peux appeler dans l’image en tant que paramètre (pas sûr). le plus gros problème est l’autre image.

L’autre image utilise une API externe qui génère des images QR. cette image est affichée dans une zone d’image de mon formulaire au moment de l’exécution. Je ne sauve pas l’image n’importe où je préférerais ne pas trop. MAIS je comprends si j’en ai besoin. Existe-t-il un moyen de transmettre l’image QR de la zone d’image de mon formulaire à la zone d’image de rapport?

Mise à jour voici le code de l’erreur:

Microsoft.Reporting.WinForms.ReportParameter rpIMG1 = new Microsoft.Reporting.WinForms.ReportParameter("paramQRimg", base64Ssortingng); Microsoft.Reporting.WinForms.ReportParameter rpIMG2 = new Microsoft.Reporting.WinForms.ReportParameter("paramQRMi", "image/png"); reportViewer1.LocalReport.SetParameters(new Microsoft.Reporting.WinForms.ReportParameter[] { rp1, rp2, rp3, rp4, rp5, rp6, rp7, rp8, rp9, rp10, rpIMG1, rpIMG2 }); 

Une erreur se produit dans la partie parameters, tout ce qui est écrit est:

 An error occurred during local report processing. 

aucune idée pourquoi il n’aime pas ça

  public ssortingng ImageToBase64(Image image, System.Drawing.Imaging.ImageFormat format) { using (MemoryStream ms = new MemoryStream()) { // Convert Image to byte[] image.Save(ms, format); byte[] imageBytes = ms.ToArray(); // Convert byte[] to Base64 Ssortingng ssortingng base64Ssortingng = Convert.ToBase64Ssortingng(imageBytes); return base64Ssortingng; } } 

Convertissez votre image en chaîne base64 puis transmettez-la à votre rapport en tant que paramètre, puis définissez l’image de rapport sur ce paramètre.

void header () {try {ssortingng name = “”; adresse de chaîne = “”; ssortingng phone = “”; ssortingng mobile = “”; chaîne établir = “”;

  db.sql.Close(); db.sql.Open(); SqlCommand cmd = new SqlCommand("select * from print_head", db.sql); SqlDataReader read = cmd.ExecuteReader(); while (read.Read()) { name = read[1].ToSsortingng(); address = read[2].ToSsortingng(); phone = read[3].ToSsortingng(); mobile = read[4].ToSsortingng(); establish = read[5].ToSsortingng(); MemoryStream ms = new MemoryStream((byte[])read[6]); logo = Image.FromStream(ms); try { // Convert Image to byte[] byte[] imageBytes = ms.ToArray(); // Convert byte[] to Base64 Ssortingng base64Ssortingng = Convert.ToBase64Ssortingng(imageBytes); } catch(Exception ex) { MessageBox.Show(ex.ToSsortingng()); } } ReportParameterCollection r = new ReportParameterCollection(); r.Add(new ReportParameter("name", name.ToSsortingng())); r.Add(new ReportParameter("address", address.ToSsortingng())); r.Add(new ReportParameter("phone", phone.ToSsortingng())); r.Add(new ReportParameter("mobile", mobile.ToSsortingng())); r.Add(new ReportParameter("establish", establish.ToSsortingng())); r.Add(new ReportParameter("logo", base64Ssortingng.ToSsortingng())); this.reportViewer1.LocalReport.SetParameters(r); db.sql.Close(); } catch { } }