yaoshiyou 发表于 2022-4-6 08:56:06

pagereport 如何通过代码添加iamge 组件,代码报错

            var imgdata = "";
                using (var fs = new FileStream(dlg.FileName, FileMode.OpenOrCreate))
                {
                  fs.Seek(0, SeekOrigin.Begin);
                  byte[] bs = new byte;
                  int log = Convert.ToInt32(fs.Length);
                  fs.Read(bs, 0, log);
                  imgdata = Convert.ToBase64String(bs);
                }
                var f = new FileInfo(dlg.FileName);

                var rpt = m_CurrentDesigner.Report as PageReport;
                var minmetype = "image/" + f.Extension.Substring(1);
                var name = f.Name.Substring(0, f.Name.LastIndexOf("."));

                var embimage = new EmbeddedImage() { Name = name, MIMEType = minmetype, ImageData = imgdata };
                rpt.Report.EmbeddedImages.Add(embimage);

var image = new GrapeCity.ActiveReports.PageReportModel.Image();
                image.Name = "test";
                image.DataElementName = S_BACKIMAGE_NAME;
                image.MIMEType = minmetype;
                image.Source = ImageSource.Embedded;

                image.Value = name;
                image.Left = "0cm";
                image.Width = "16cm";
                image.Height = "24cm";
                image.ZIndex = 0;
                rpt.Report.Body.ReportItems.Add(image);
报错




Bella.Yuan 发表于 2022-4-7 15:30:25

本帖最后由 Eden.Sun 于 2023-9-15 10:58 编辑

您好,您这个可能是添加的方式不对,您可以参考我们的帮助文档:
https://www.grapecity.com/activereportsnet/docs/latest/online/image-control-in-reports.html?highlight=images%2C

不知到咱们具体的使用场景,不过建议您在报表模板里面直接添加图片组件,项目中通过运行时数据源设置图片的地址、数据啥的,应该会容易很多的。
页: [1]
查看完整版本: pagereport 如何通过代码添加iamge 组件,代码报错