zoukankan
html css js c++ java
通用水晶报表绑定类[原]
using
System;
using
System.Data;
using
System.ComponentModel;
using
System.Collections;
using
CrystalDecisions.Shared;
using
CrystalDecisions.Web;
using
CrystalDecisions.CrystalReports.Engine;
namespace
Ylgl.Ent.Report
{
/**/
///
<summary>
///
BindReport 的摘要说明。
///
</summary>
public
class
BindReport
{
ReportClass Rept
=
null
;
ArrayList al
=
new
ArrayList();
Hashtable _ParameterFields
=
null
;
/**/
///
<summary>
///
报表中的参数集合
///
</summary>
public
Hashtable ParameterFields
{
get
{
if
(_ParameterFields
==
null
)
{
_ParameterFields
=
new
Hashtable();
}
return
_ParameterFields;
}
set
{
_ParameterFields
=
value;
}
}
/**/
///
<summary>
///
用于构造当前实例的表明命名空间
///
</summary>
///
<param name="NamespaceName"></param>
public
BindReport(
string
NamespaceName)
{
Type type
=
Type.GetType(NamespaceName,
true
);
Rept
=
(ReportClass)Activator.CreateInstance(type);
}
/**/
///
<summary>
///
报表绑定方法
///
</summary>
///
<param name="DataSource">
数据源
</param>
///
<param name="ReportViewer">
报表显示控件
</param>
public
void
BindMainReport(IListSource DataSource,CrystalReportViewer ReportViewer)
{
Rept.SetDataSource(DataSource);
//
绑定子报表
if
(al.Count
!=
0
)
{
for
(
int
i
=
0
;i
<
al.Count;i
++
)
{
SubReport sr
=
(SubReport)al[
0
];
SubreportObject oSubreport1
=
(SubreportObject)Rept.ReportDefinition.Sections[sr.Place].ReportObjects[sr.SubObject];
ReportDocument oSub1
=
oSubreport1.OpenSubreport(sr.SubPath);
oSub1.SetDataSource(sr.DataSource);
}
}
//
给参数字段赋值
if
(ParameterFields
!=
null
)
{
ParameterFields fs
=
Rept.ParameterFields;
foreach
(DictionaryEntry de
in
ParameterFields)
{
ParameterField ParameterName
=
fs[de.Key.ToString()];
ParameterDiscreteValue ParameterValue
=
new
ParameterDiscreteValue();
ParameterValue.Value
=
de.Value;
ParameterName.CurrentValues.Add(ParameterValue);
}
ReportViewer.ParameterFieldInfo
=
fs;
}
ReportViewer.ReportSource
=
Rept;
ReportViewer.DataBind();
}
/**/
///
<summary>
///
设置添加绑定一个子报表到当前实例中
///
</summary>
///
<param name="dt">
子报表数据源
</param>
///
<param name="_SubObject">
用于显示子报表的对象名
</param>
///
<param name="_SubPath">
子报表文件路径
</param>
///
<param name="place">
子报表位置索引
</param>
public
void
SetSubReport(IListSource dt,
string
_SubObject,
string
_SubPath,
int
place)
{
SubReport sr
=
new
SubReport();
sr.DataSource
=
dt;
sr.SubObject
=
_SubObject;
sr.SubPath
=
_SubPath;
sr.Place
=
place;
al.Add(sr);
}
构造子报表数据类型
#region
构造子报表数据类型
/**/
///
<summary>
///
构造子报表数据类型
///
</summary>
class
SubReport
{
/**/
///
<summary>
///
用于显示子报表的对象名
///
</summary>
public
string
SubObject;
/**/
///
<summary>
///
子报表文件路径
///
</summary>
public
string
SubPath;
/**/
///
<summary>
///
子报表位置索引
///
</summary>
public
int
Place;
/**/
///
<summary>
///
子报表数据源
///
</summary>
public
IListSource DataSource;
}
#endregion
}
}
查看全文
相关阅读:
沉默
抱冰握火
数据库原理-SQL查询语句
简单算法的实现——集合
团队总结
个人作业----项目测试
团队项目-Beta冲刺
团队项目-Alpha版本发布1
团队项目-----系统设计 认真不马虎队
团队项目----需求分析 认真不马虎队
原文地址:https://www.cnblogs.com/ejiyuan/p/936148.html
最新文章
ASP.Net Core与ASP.Net的区别
技术死角--.Net跳转页面的Model为String类型时显示找不到页面
ASP .NET如何拦截某些非法的请求地址
jsDoc 使用及配置
windows下nginx的安装及使用
GIS在农业方面的应用
ArcGIS与Hadoop
【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务
ArcGIS 10.2之地图服务的发布、使用
ARCGIS中七参数80坐标转2000坐标系
热门文章
ArcGIS中CGCS2000投影坐标数据转CGCS2000地理坐标数据
林地资源“一张图”信息化平台建设概论
倾斜摄影技术三维建模中应用
搭建可离线的精美矢量切片地图服务
如何在Geoserver中测试SLD样式文件的正确性
GeoServer中利用SLD配图之矢量图层配图
如何判断建设用地是否符合土地利用总体规划?
解读二调
Fun Day
一个好冬
Copyright © 2011-2022 走看看