szpzr 发表于 2018-11-15 08:53:39

富文本框打印

本帖最后由 szpzr 于 2018-11-15 08:56 编辑

区域报表下列代码:
if (Ds.Tables.Rows.Count > 0)
            {
                if (Ds.Tables.Rows["Fact"] != DBNull.Value)
                {
                  byte[] photo = (byte[])Ds.Tables.Rows["Fact"];
                     RichTextFact.Text = System.Text.Encoding.Default.GetString(photo);
                }
            }
把数据库image字段打印到富文本框出现如图错误:
请教版主,如何解决?

KearneyKang 发表于 2018-11-15 09:48:51

你好,富文本框,绑定图片也是需要使用HTML的样式进行绑定,不然就会报错,具体的关于富文本框的使用请参考下面关于富文本框的博客:https://www.grapecity.com.cn/blogs/ar-formattextbox01

szpzr 发表于 2018-11-16 10:36:28

本帖最后由 szpzr 于 2018-11-16 10:40 编辑

下列代码:
byte[] photo = (byte[])Ds.Tables.Rows["Fact"];
                      RichTextFact.Text = System.Text.Encoding.Default.GetString(photo);
报表呈现:

或者转化为流:
MemoryStream ms = new MemoryStream();
                  ms.Position = 0;
                  ms.Write(photo, 0, photo.Length);
                  ms.Position = 0;
RichTextFact.Load(ms, GrapeCity.ActiveReports.SectionReportModel.RichTextType.Rtf );
同样结果。

szpzr 发表于 2018-11-16 15:32:45

如果用代码:RichTextFact.LoadFile(""),如何指定引号内的路径,没有Server.Math选项?

KearneyKang 发表于 2018-11-16 18:21:54

直接Load加载一个 HTML或者RTL文件就行,但是会存在一个乱码的问题,因为服文本框对HTML的语言要求比较高。如果是绑定图片建议你还是使用图像控件比较好。

szpzr 发表于 2018-11-18 13:54:54

使用:System.IO.FileStream streamHTML = new System.IO.FileStream( "e:\\111.html", System.IO.FileMode.Open);
                  this.RichFact.Load(streamHTML, RichTextType.Html);
加载文件,中文和图片都不能显示,有办法解决吗?

KearneyKang 发表于 2018-11-19 09:07:55

这个问题,我这边在看看有没有别的比较好的办法,如果不行,我再咨询下我们的研发看看有没有什么好的解决方案。

szpzr 发表于 2018-11-21 15:56:03

KearneyKang :您好!
有帮找到好的方案吗?

KearneyKang 发表于 2018-11-21 17:38:13

用富文本框也出现你反馈的问题。建议你换报表设计器里的其他控件进行图片的展示比如图像控件

szpzr 发表于 2018-11-22 08:01:13

谢谢你的答复,由于字段内容是富文本框保存的,用: byte[] photo = (byte[])Ds.Tables.Rows["Fact"];
                  MemoryStream ms = new MemoryStream(photo, false);
                  Bitmap bmp = new Bitmap(ms);
                  this.picture1.Image = bmp;
转换为Bmp出现错误,有其他办法吗?
页: [1] 2
查看完整版本: 富文本框打印