11.10 如何使用报表打印?
报表输出是所有信息系统基本的功能之一,但有些报表输出过程过于复杂,操作不便,影响开发速度,代码分散在界面UI层的各处,一方面维护不便,一方面Web与Winform桌面应用处理方式不同,相同的代码在不同的UI层移植时工作量大,因此我们作了统一的处理。
所在组件:IBeamMDAACommon.dll、IBeamMDAAWinUI.dll
名称空间:IBeam.MDAA.Utility (接口定义) IBeam.MDAA.WinUI (Winform打印)
用法举例:
IBeamMDAA使用的报表是RDLC报表,设计思想与应用方法如下:
报表接口定义:
public interface IReport
{
CRDLCReport GetReport();
}
报表辅助类定义:
/// <summary>
/// 报表参数
/// </summary>
[Serializable]
public sealed class CReportParameter
{
#region 共有属性
// Properties
public string Name
{
get;
set;
}
public string[] Values
{
get;
}
public bool Visible
{
get;
set;
}
#endregion
}
// 摘要:
// 表示报表的数据源
[Serializable]
public sealed class CReportDataSource
{
//
// 摘要:
// 使用值构造命名数据源
//
// 参数:
// name:
// 数据源的名称。
//
// dataSourceValue:
// 数据源的值。
public CReportDataSource(string name, object dataSourceValue)
{
_Name = name;
_dataSourceValue = dataSourceValue;
}
string _Name;
/// <summary>
/// 获取或设置报表数据源的名称
/// </summary>
public string Name
{
get
{
return _Name;
}
set
{
_Name = value;
}
}
object _dataSourceValue;
/// <summary>
/// 获取或设置报表数据源实例
/// </summary>
public object Value
{
get
{
return _dataSourceValue;
}
set
{
_dataSourceValue = value;
}
}
}
第一步:在业务实例类中使用报表接口:
第二步:接口方法实现:
第三步:在Winform桌面应用中打印报表: