zoukankan      html  css  js  c++  java
  • 用子报表动态显示图片

      我们在做个人简历之类报表的时候,往往要在报表中显示图片,如果不是使用“DetailSection”,那必须得插入一个子报表来显示图片。
      建立子报表数据源文件:
     1<?xml version="1.0" ?>
     2<xs:schema id="zp" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
     3    <xs:element name="zpb">
     4        <xs:complexType>
     5            <xs:sequence>
     6                <xs:element name="zpdata" type="xs:base64Binary" minOccurs="0" />
     7            </xs:sequence>
     8        </xs:complexType>
     9    </xs:element>
    10</xs:schema>
      用代码为子报表创建数据源,子报表名称为Zp,strZp即是图片的文件名:
                    DataSet dtsZp = new DataSet();
                    DataTable dtblZp 
    = new DataTable();
                    dtblZp.Columns.Add(
    "zpdata"typeof(byte[]));
                    DataRow drow 
    = dtblZp.NewRow();
                    drow[
    0= GetFileStream(strZp);
                    dtblZp.Rows.Add(drow);
                    dtsZp.Tables.Add(dtblZp);
                    rpt.Subreports[
    "Zp"].SetDataSource(dtsZp);
      函数GetFileStream是将文件读入到流中:
     1        private byte[] GetFileStream(string FileName)
     2        {
     3            FileStream fstr = new FileStream(Server.MapPath("images/upload/zp/" + FileName), FileMode.Open);
     4            BinaryReader brd = new BinaryReader(fstr);
     5            byte[] b = new byte[fstr.Length];
     6            b = brd.ReadBytes((int)fstr.Length);
     7            fstr.Close();
     8            return b;
     9        }

    10
  • 相关阅读:
    mac 电脑自动登录服务器
    prometheus-operator 监控 k8s 外部集群
    生产prometheus-operator 监控二进制kubernetes
    微信小程序-nginx-https 代理后端服务
    Redis 高可用之哨兵模式
    Redis 高可用之数据持久化
    服务之间连接不上问题分析
    prometheus 告警指标
    错误代码:0x800706BE 解决方法
    泛微OA服务器更改IP地址后EMobile出现“调用远端服务器接口时发生错误(122)”的提示
  • 原文地址:https://www.cnblogs.com/faib/p/661904.html
Copyright © 2011-2022 走看看