我们在做个人简历之类报表的时候,往往要在报表中显示图片,如果不是使用“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

相关文章: