• 用子报表动态显示图片


      我们在做个人简历之类报表的时候,往往要在报表中显示图片,如果不是使用“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
  • 相关阅读:
    CF280C Game on Tree 概率与期望
    bzoj 3420: Poi2013 Triumphal arch 树形dp+二分
    bzoj 2111: [ZJOI2010]Perm 排列计数 Lucas
    bzoj 3709: [PA2014]Bohater 贪心
    bzoj 1396/2865: 识别子串 后缀自动机+线段树
    【教程】如何搭建一个自己的网站
    C#单例设计模式
    C#双缓冲代码
    Hibernate的查询功能
    hibernate事务规范写法
  • 原文地址:https://www.cnblogs.com/faib/p/661904.html
Copyright © 2020-2023  润新知