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
}
}
查看全文
相关阅读:
正则表达式速查表
Python第三方库管理Anaconda
Python3.x和Python2.x的区别
python 学习 “笨办法学python”(随书补充)
python 中文输入的注意事项
mongodb update 字符 操作(补充)
mongodb update 字符 操作
04.视频播放器通用架构实践
05.视频播放器内核切换封装
03.视频播放器Api说明
原文地址:https://www.cnblogs.com/ejiyuan/p/936148.html
最新文章
java解决高并发
springboot date接收参数
自定义JSP中的Taglib标签之四自定义标签中的Function函数
radio属性添加
搭建高可用mongodb集群(四)—— 分片
搭建高可用mongodb集群(三)—— 深入副本集内部机制
搭建高可用mongodb集群(二)—— 副本集
docker纪录篇2-docker容器网络互连
hadoop记录篇11-关系型数据库导入导出组件 sqoop
hadoop记录篇10-数据仓库查询组件impala
热门文章
hadoop记录篇9-cm5安装zookeeper,hadoop,yarn,hive
hadoop记录篇8-cdh5离线安装
JVM运行原理及调优
推荐机制 协同过滤和基于内容推荐的区别
jmeter分布式压力测试
工作流引擎activiti
springfox集成openapi实践
python爬虫入门笔记:scrapy爬豆瓣
piwik 访客跟踪(一)
零基础开始学Python
Copyright © 2011-2022 走看看