报表设计说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
报表设计说明
运用语言:C#(WinForm)
报表类型:RDLC
创建报表需要3个对象,MicrosoftReportViewer、RDLC文件、数据集文件。
MicrosoftReportViewer是报表视图控件,用于在页面中呈现报表及相关功能,就像舞台;
RDLC报表文件是报表具体样式的设计文件,好比是化妆室;数据集文件为报表文件提供基础数据,也就相当于人。
把人在化妆室化妆好,放在舞台上展现,就是我们设计报表的目的。
目录
报表设计说明 (1)
创建数据集文件 (2)
创建RDLC文件 (3)
添加MicrosoftReportViewer控件。
(5)
扩展功能:关联WinForm窗体 (6)
创建数据集文件
右键项目,选择添加新项,创建数据集ReportDS。
如图1。
图1 创建数据集
进入数据集设计器,创建一个DataTable对象,将表名改成自己需要的名称,示例中用Demo。
图2 创建DataT able
右键表,选择添加列。
图3 添加列
图4 Demo表
创建RDLC文件
右键项目,选择添加新建项。
图5 创建RDLC文件
在工具栏中点击报表,选择数据源。
图6 设置数据源
选择刚建的表所对应的数据源,添加到报表中。
项目数据源的命名规则为“数据集文件名_表名”。
图7 为报表添加数据源
点击确定后,在工具箱中选择表,拖到报表中。
图8 在报表中添加表
报表各个控件如何设计在本文就不做描述。
在详细信息中设计各个单元格属性。
如
右键单元格,选择表达式后如图9。
图9 设计单元格表达式
添加MicrosoftReportViewer控件。
在页面视图设计器下,选择工具箱中的MicrosoftReportViewer控件添加。
配置Viewer控件属性。
图11 配置报表路径
在后台代码中配置数据源及相关属性:
// Set Processing Mode
reportViewer1.ProcessingMode = ProcessingMode.Local;
// Supply a DataTable corresponding to each report dataset
reportViewer1.LocalReport.DataSources.Clear();
reportViewer1.LocalReport.DataSources.Add(
new ReportDataSource("ReportDS_Demo", LoadData()));
reportViewer1.RefreshReport();
private DataTable LoadData()
{
ReportBL RBL = new ReportBL();
DataSet dataSet = new DataSet();
dataSet = RBL.GetStoreReport();
return dataSet.Tables[0];
}
扩展功能:关联WinForm窗体
现增需求为在报表中关联单据。
具体描述如下:
报表若在界面中体现单据信息(单据编码),则要求点击单据编码弹出相应单据界面。
解决方案如下:
为显示编码的单元格配置跳转至书签,书签值为单据ID;为Viewer控件添加连接可用属性;启用Viewer的BookmarkNavigation事件,在事件中展现单据界面。
1.配置书签
在RDLC文件中右键单据编码单元格,选择属性。
图12 选择单元格属性
选择导航选项卡,设置跳至书签,属性设置为单据ID。
图13 配置单元格导航
2.在后台代码中页面加载时加入代码:
reportViewer1.LocalReport.EnableHyperlinks = true;
使报表链接可用。
3.reportViewer1_BookmarkNavigation事件
private void reportViewer1_BookmarkNavigation(object sender, BookmarkNavigationEventArgs e)
{
int ID = Convert.ToInt32(e.BookmarkId);
OutOrderUIForm frm = new OutOrderUIForm();
frm.txtCode.Tag = ID;
frm.ShowDialog();
}。