一 、report.datasource直接放一个dataset或datatable
此种方法在代码里实现,直接为report赋数据源
特点:
-无须生成xml
-生成模板文件.repx中不包含表结构信息
-可用于特定表的使用,一旦将repx复制到其他地方,则无法根据repx生成表结构
二 、 report.dataSourceSchema 放一个xml字符串,使用xml定义结构
此种方式需要一个xml文件
特点:
- 需要先将dataset保存成xml结构定义文件
- 生成的模板文件.repx中包含表结构信息
- 【自定义报表设计步骤】
- 1 打开设计器–>File –> New新建一个模板
- 2 点击模板空白处,在右下角property.Gird设计中找到“XMLDataPath”或者“DataSource’s Schema”,选择文件夹已经生成好的XML文件
- 3 找到Data/DataMember,选择从XML中读取的表名
- 4 点击模板窗体在右上角FieldList中就可以选择字段了
- 5 设计完以后点击保存按钮,输入一个和XML名字一样的repx模板文件存到对应的文件夹中
三 、report.dataSourceSchema 使用数据流获取XML字符串,不生成XML文件
特点:
- 1 无须生成XML文件,也不用进行上述设置步骤
- 2 生成的模板文件.repx中包含表结构信息
MemoryStream ms = new MemoryStream();
ds.writeXmlSchema(ms)
xtraReport.DataSchema=System.text.Encoding.Default.GetString(ms.toArray);