2024年4月3日发(作者:雷凝旋)
电脑编程技巧与维护
Devexpress
XtraReports报表制作及Silverlight下的应用
欧阳红寅1.田嵩2,周迅2,洪友堂・
(1.中国地质大学(北京)土地科学技术学院,北京100083
o
2.中国国土资源航空物探遥感中心,北京100083)
摘要:Devexpressxt阻Repons.NET中灵活且功能强大,它可以制作多种类型的报表,如静态报表、表格报表、
主/从报表、多栏报表、交叉表报表、并排报表、Drill—Down报表、邮件合并报表、标签报表等。以表格报表为例,
分析了DevexpressxtraRepo糟报表制作和silverlight部署环境下报表的应用过程,实现了航空物探野外生产技术月报
的制作和应用。
关键词:
Devexpress:X舰Repons套件:Silverlight;报表
DeVexpress
XtraReports
Productionand
Application
in
SilVerlight
oUYANG
Hong妒n1,TIAN
Son92,ZHoU
Xun2,HoNG
Youtan91
(1.L柚d
Science
and
Technology
School,china
2.ChinaAeI.o
Geophysical
andRemote
Sensing
UniVers时ofGeosciences,Beijing
lo()083;
CenterIbrLaIldand
Resources,Beijing
lo(1083)
kindsof
repon8,such鹊Abstract:DeVexpressXtraReports
Sujte
isnexible
and
powerfuI
in.NE’r,IT
c跏product
8eVeraI
Static
Rep‘)rt,TableRepon'Maste卜Detail,Multi—Column
Report,Cmss—TabReport,Side-by—SideRepons,Drill—Dowll
眦port,Mail—Merge
Report
andLabel
Report
so
on.HeretookTable
Report∞anexample
t0
analysis
the
pmce8s
of
DevexpressXtraReports’spmduction
and
application
in
Silverljght,and
thenfinishedthe
pmduction帅d
aPplica“on
of
MonthlyReport
fIDmairbome
geophysical
field
production.
Keyw0“Is:Devexpre8s;XtraReports
Suite;SilverIight;Report
1
引言
Devexpre88
ReportLibrary中的表格报表的结构和样式设计。该表格报表的
xtraRepons制作报表方便快捷,且功能强大,
名称“Detail8
ofthe
customer
order
0rderID”以及报表生成日
因此如何使用户迅速学会应用该软件制作报表是非常重要的。
SilverIjght是当前主流的web开发技术.利用silverlighc进行
各种网站开发的人也越来越多,因而究如何用silverlight技术
展示DevexpressxtraRepons套件制作的报表是非常有必要的。
以ReportLib阳ry(Developer
Expre鹃v20lO
voll软件报表制作
期只在报表开头出现,因此将显示这两项内容的控件放在
ReponHeader带区中。对于显示产品名称(Pmduct),供应商
(supplier),单价(unit蹦ce),数量(Quantity),折扣
(Discount),额度(Subtotal)表头,需要在报表的每一页显
示,因此将显示该内容的xRTable控件放在PageHeader带区
中。由于需要在报表每页的表尾显示该贞订单额度总和,因
此将显示该内容的控件放在GmupFooter带区中。在报表最后
一页页尾除需显示该页的订单总额外,还需显示所有页额度
总和,因此将显示该内容控件放在ReportF硒ter带区中。该报
表每页的最底部都有一张Devexpress图片,承载该图片的
xRPictureBox控件就需放在BottomMargine带区中。在完成报
表结构设计后,进行报表样式设计,主要通过报表控件的属
性设计,通过设置控件的Size,BackGroundcolor.Borde尤olor
等属性控制控件的位置,背景色,边框颜色样式。
最后总结出报表结构和样式设计的一般步骤如下:新建
应用程序一添加xtraReport
Class
演示示例)中的表格报表为例分析表格报表制作过程和
silverli曲t部署环境下应用报表的方法及在此基础上完成航空
物探野外生产技术工作月报的制作和应用。
2表格报表制作
2.1报表结构和样式设计
xtraRepons的每个报表都是由报表带区(Report
B锄d)
和报表控件(ReponContml)组成的,报表是带区的容器,带
区是报表控件的容器。报表带区用来对报表进行布局,它包
含报表的结构信息。而报表控件用来承载报表信息,它包含
了报表样式信息和内容信息。一个报表可以包含一个或多个
报表带区,报表带区有多种类型,不同的报表带区类型有不
同用途,如表l所示,列举了报表带区类型及其用途。
xtmRepon工具箱中包含了报表使用的所有报表控件,包括
XRCheckBox,XRTable,XRPageInfo,XRPageBreak,XRL.ab—
v10.1模板一添加需要的
基金项目:中国国土资源航窄物探遥感中心对地观测技术丁程
实验室青年创新基金资助课题—航空物探勘查生产进度汇报与
统计查询软件研发,课题编号:2010YFL08l。
作者简介:欧阳红寅(1987一)。女,硕士,研究方向:网络
开发;田嵩(1985一),女,助理工程师。
le,xRchaJt,xRune,xRsubRepon,xRRichText等等控件。
控件的使用方法与.NET中控件使用方法一样,通过设置控件
属性来设计报表风格样式。
这里分析Developer
Expre88
v2010vol
l软件演示示例
收稿日期:201l一08一10
(、岛电器:器与主慕∥
万方数据
万方数据
电脑编程技巧与维护
需要的字段通过鼠标左键拖人到带区或者已有的控件上.这
样可以添加新的数据绑定控件或者绑定已有的控件。通过点
击鼠标右键将选中字段拖人到带区后放开鼠标则会弹出一个
选择菜单,其中包含可用来被该数据绑定的控件列表。
至此报表设计完成,在设计器中点击Preview按钮进行预
览,这时会有0rderID没有默认值错误提示.是什么原因呢?
前文1
2中提到的1抽leAdaDter
Fiu函数有一个0rderID参数。
这里需要调用该Fill函数并给OrderID传值.实现数据集中
DataTabIe数据的填充。因此在报表的c#代码端编写一个函数
并将整型的0rde“D设为参数,在该函数中实现参数的传递和
川l函数的调用。代码如下:
pllbIjc
void
和R。ponsennce。IR。ponsemce和R。ponservlce类包含用束进
行报表创建.输出.打印相天操作的函数,它们被声明为
servjcecontract(服务契约.这两个类函数客户端能够通过异步
的方式直接访问到。下面这两个类中蓖要的几个函数,
stanRu洲函数参数为xtraRe科)n,返l旦J值为Dncumen¨d。
st0DBuM函数参数为D(ⅪumentId,实现DocumentId的停止创
建。cetPage函数参数为DocumentId和pageIndex(页码索引
号).返回值为虬一nE型,用字符串来表示报表某贞的xAMI.
代码。s协nExpon参数为DocumentId实现将创建好的撤表输出
为E1P0nId。
客户端动态库DevElpress.xp£蹦nti“g有一个
ReponPrevlewModel类以及一个DocumentPrcview控件。
ReponP他viewM‘)de】类,用来将客户端接收到的来自服务器端
的I)ocumentId处理成DocumentPreview控件需要的报表模版。
它包含serviceu^属性和PH圯e豁Document函数。serviceu^属
性是s岍ng类型,值为服务器端wcF
sewice中继承了
R。ponservice和IR。ponservice又包含返回Docume丌lId函数的.
svc文件的相对路径。I)mcessDocument函数参数为
I)ocumentJd,返吲值为空。Docum邮tPrevlew控件用来显示报
表.该控件同时为报表提供打印,缩放,输出等工具栏。通
SetR8ponP蚴meter
0nt
ofde“D,bool
6llDataSel)
this.orderJD=oTde订D∥为orderII)属性赋值
dmrdeTDetailsl.CleⅡ0;
∥清除dsOrderDetailsl中数据
if
mllDacaSel)
orderDetailsTableAdapterl.FiU
(dsOlderDetajls
Orderl)etajl8'orderID)∥为报表数据源填充数据
应用报表时在实例化该报表后.接着调用该函数.就能
实现该数据集数据的填充了。如图3所示,为报表数据设计
完成后。
过设置DocumentPreview的ModeI属性为控件绑定报表。
通过卜述分析,可以得出如果想将服务端的撤表传送至
客户端.并在客户端进行撤表显示的一个思路即为在服务器
端使用StanBu-ld函数以xtmRepon为参数.返回一个
DocumentId。在客户端接收该返回值.并以该返回值为参数调
用Pmce8sDocument函数和设置se州ceu一属性。再将
D嘲Ils
of廿峙c嘶m哪ordF时出rl吖
1)ocumentPre“ew的M0del属性值设为HeponP化viewModel,这
m嘲^p口
'…~‘~r…
¨…
●~…
至量叵E=卫虽亘=二二二巫亟丑釜生喳三圃
匦奠I!罡!I竺i竺}竺l
写萄ii_『——:———]
样在silvedighI下就能完成报表的应用了。
3
2具体步骤
第一步:服务器端添加wcFservice.为了实现silverli曲t
口’・r…一-r,
际酗w_酬1一!
圈3最后表格报表界面
服务器端和客户端报表的通信。
第二步:让wcFsewlce对应的lsewjce.cs和service
svc.
cs的类分别继承IR。I,onservicc和R。ponservice.主要为了实
现在seⅣice剐ccs类中能够调用Reponse州ce巾的st缸Buil{J
函数,实现将x岫Repon转换成DocumentId。
第i步:在seⅣice郇ccs中编写一个stanBuildTabJeRe口一
o^函数.函数参数为int型OIderID.返回值为DocumentId。
在函数内部实现先实例化表格报表对象,然后调用前12部分
中的setR印onParamefer函数完成报表数据的填充。最后诃用
Reponse州ce中的stanBuild函数返回
DocumentId。
3
silve出ghI部署环境中表格报表的应用
Devexpress
x仃aR。po凼制作的撤表可以在winFo丌n,AsP
NET,wPF,sjIverIj曲t等多种部署环境下应用。这里以第一
部分中创建的表格报表为例,介绍如何silverL袖t环境下调用
撤表并显示在silver“小t客户端。
3
l与报表创建.输出.打印相关的函数殛作用
DevExpres吕.xlmRepons.service.I)atacontrac拓动态库下的
s£anBujldl讪1eR。pon函数代码如下:
pu“c
l
TableR8pon陀pon=new
D0c啪entId
stanBuildTabIeR。pon(jnt
oIderld)
DocuH他ntId.Documen“d用来识别撤表的,是一个被声明为
Datacon的ct(数据契约)的数据结构体.包含一个被声明为
1铀leRepon
O;
DataMember擞据成员)的string类型属性v—ue。被声明成数
据契约的类能在服务器端和客户端之间传送被声明为数据成
员的属性数据。
DevExp陀55
∥实例化表格报表
repon
setR。P0nPammeter(0rdedd,t川e);
∥为报表数据源填充数据
xhReporlB.service动态库下的lReportservice
remm
stanBujld∞po川;
万方数据
i迦》面器盛与习b
so丌wARE
DEvELoPMENTANDDEsIcN
软件开发与设计
提高野外生产管理效率。如图4所示.为月报的计划指标完
成情况一览表。
Ⅳ调用开始创建报表函数.返回D0cumentId
}
第四步:确保前面3个步骤正确后,在客户端将service
svc添加到se而ceRe如nce中.使客户端能够访问其中的函数。
第五步:客户端在报表调用页面,实例化se州cesvc暴露
在客户端的client类即serviceclient,再注册serviceclien£中
的sta^Buildl讪leR。poncomp】eted事件。
serviceClientclient=new
se丌iceClienl
O;
Ⅳ实例化sewicecljent类
cIient.Sta^BuildT曲leReponCompleted+=new
EventH明dler(StanBuildl铀leReponCompletedEventA学>
(cIienLstanBuildmleRepo^co“pleted);
∥注册st且ItBuildTableReponcompleted事件
第六步:在需要创建报表的地方调用seⅣiceclient中的
St且^BuildTableReponA5"c。
client.sⅫBuildTabIeReponA8y眦(0rdedD);
∥调用clienI中的开始创建报表函数
图4计划指标完成示意圈
5结语
第七步:在startBuildT洲eRcP0ncomp】咖d事件中接收Devexp嘟s
x昀Repons是一款功能强大的报表制作套件,
s妇nBuildmIeRepon函数返回的值,
R8po吐Pre订wM0deI对象.
void
实例化
它为用户提供了丰富的演示示例及源代码,演示示例包括静
调用PmceBsD0cu砒nt函数,
ReponP陀viewM0del赋值给D0cumentP刚iew控件的M0del值。
态报表,分栏报表等多种报表制作的过程及在AsP..N盯.
WjnFom8,wPF,silvedight等不同部署环境下的应用方法。
clieIlt-sⅫBuildTableR。poncomp】eted(object∞nder'
s吼BllildT捌eReponc砌PletedEventArgB
e】
f
R。Po^P陀viewModel
PrevjewModel=new
以表格报表的制作为例介绍Devexp瑚s
x廿aRePons报表制作
过程和在sjIvedighI部署环境下如何应用报表的方法.在此基
础上实现航空物探野外生产技术月报的制作和应用。通过对
表格报表制作和应用的详细分析,为读者提供研究Devexmss
x怕Repo巾示例的一般思路,希望对用户学习报表制作和应
用有所帮助。
R。ponPmviewModel(”..,rablese丌ice
svc”);Ⅳ实例化
f,reviewModel.ProcessD0cumenl(e.Re8ll】n;
/,接收返回的D0cumenⅡd生成撤表模板
documenIP陀viewl.Model-P陀viewM0del:
参考文献
【1】李福红.DevExpress表格控件运行时动态设置表格列[J].
电脑编程技巧与维护。20ll,6:34_37.
【2】程国雄,胡世清,朱春莺silverlighl和wcF媒体管理系
统[J]
电脑编程技巧与维护,2009.4:48—50.
【3】丫ux【ANG.x衄Repons中文帮助文档[K].smartSOR论坛,
2011.
删}Document胁订ewl控件M0del属性赋值
J
4
应用实例
现有的航空物探野外生产技术工作月报以纸质方式存档,
长期以来不便于月报的查询和管理。本文基于国家标准月报
格式及上述x呐Reports制作和在silvedight部署环境下应用两
项研究基础上,实现了航空物探野外生产技术工作月报的制
作和应用,用户通过输入月报查询条件,获取月报信息.以
web方式呈现月报,管理人员能够方便及时地获取月报信息.
(上接第5页)
务同步通信的正确性进行检查,因为通信错误会造成错误的
程序结果.而同错误则会造成程序死锁;第六,如果错误出
现不固定.可能是时序性错误造成.此时要检查同步通信;
而错误固定则要对数据特性定义、依赖关系等进行检查。
【4】程汤培.基于wcF的即时通信软件的设计与实现[J]
脑编程技巧与维护,2008,04:24_41.
【5】沈正.wcF研究与开发[J]
19:13.
电
中国新技术新产品,2009。
dh“吐hu蛳“瞰¨-弛圳h咐hudh弛d“叫h"吐-蛆dhⅫdh蛆内鲥幽牲柚“叫hⅫdh“柚蛐h”d“M删¨“Mb蛆d厶lh“dhq^鲥h旺dh弛dhqdh“蛳E
出版杜,2008.
【3】卢字彤,肖依.异构计算与并行程序设计环境【J】.计算
机工程与科学.2009,(4).
【4】黄宁,金茂忠.PvM并行调试环境的现状与技术分析『J1.
参考文献计算机研究与发展,2008,(6).
【1】李代平,张信一.罗寿文,等.分布式并行计算技术【M】.
北京:冶金工业出版社,2004
【2】郑纬民,汤志忠计算机系统结构lM】北京:清华大学
【5】陈国良.并行计算—结构・算法・编程【M】.北京:高等教
育出版社,2009.
万方数据
Devexpress XtraReports报表制作及Silverlight下的应用
作者:
作者单位:
刊名:
英文刊名:
年,卷(期):
欧阳红寅, 田嵩, 周迅, 洪友堂, OUYANG Hongyin, TIAN Song, ZHOU Xun, HONG Youtang
欧阳红寅,洪友堂,OUYANG Hongyin,HONG Youtang(中国地质大学(北京)土地科学技术学院,北京
,100083), 田嵩,周迅,TIAN Song,ZHOU Xun(中国国土资源航空物探遥感中心,北京,100083)
电脑编程技巧与维护
Computer Programming Skills & Maintenance
2011(20)
本文链接:/Periodical_
2024年4月3日发(作者:雷凝旋)
电脑编程技巧与维护
Devexpress
XtraReports报表制作及Silverlight下的应用
欧阳红寅1.田嵩2,周迅2,洪友堂・
(1.中国地质大学(北京)土地科学技术学院,北京100083
o
2.中国国土资源航空物探遥感中心,北京100083)
摘要:Devexpressxt阻Repons.NET中灵活且功能强大,它可以制作多种类型的报表,如静态报表、表格报表、
主/从报表、多栏报表、交叉表报表、并排报表、Drill—Down报表、邮件合并报表、标签报表等。以表格报表为例,
分析了DevexpressxtraRepo糟报表制作和silverlight部署环境下报表的应用过程,实现了航空物探野外生产技术月报
的制作和应用。
关键词:
Devexpress:X舰Repons套件:Silverlight;报表
DeVexpress
XtraReports
Productionand
Application
in
SilVerlight
oUYANG
Hong妒n1,TIAN
Son92,ZHoU
Xun2,HoNG
Youtan91
(1.L柚d
Science
and
Technology
School,china
2.ChinaAeI.o
Geophysical
andRemote
Sensing
UniVers时ofGeosciences,Beijing
lo()083;
CenterIbrLaIldand
Resources,Beijing
lo(1083)
kindsof
repon8,such鹊Abstract:DeVexpressXtraReports
Sujte
isnexible
and
powerfuI
in.NE’r,IT
c跏product
8eVeraI
Static
Rep‘)rt,TableRepon'Maste卜Detail,Multi—Column
Report,Cmss—TabReport,Side-by—SideRepons,Drill—Dowll
眦port,Mail—Merge
Report
andLabel
Report
so
on.HeretookTable
Report∞anexample
t0
analysis
the
pmce8s
of
DevexpressXtraReports’spmduction
and
application
in
Silverljght,and
thenfinishedthe
pmduction帅d
aPplica“on
of
MonthlyReport
fIDmairbome
geophysical
field
production.
Keyw0“Is:Devexpre8s;XtraReports
Suite;SilverIight;Report
1
引言
Devexpre88
ReportLibrary中的表格报表的结构和样式设计。该表格报表的
xtraRepons制作报表方便快捷,且功能强大,
名称“Detail8
ofthe
customer
order
0rderID”以及报表生成日
因此如何使用户迅速学会应用该软件制作报表是非常重要的。
SilverIjght是当前主流的web开发技术.利用silverlighc进行
各种网站开发的人也越来越多,因而究如何用silverlight技术
展示DevexpressxtraRepons套件制作的报表是非常有必要的。
以ReportLib阳ry(Developer
Expre鹃v20lO
voll软件报表制作
期只在报表开头出现,因此将显示这两项内容的控件放在
ReponHeader带区中。对于显示产品名称(Pmduct),供应商
(supplier),单价(unit蹦ce),数量(Quantity),折扣
(Discount),额度(Subtotal)表头,需要在报表的每一页显
示,因此将显示该内容的xRTable控件放在PageHeader带区
中。由于需要在报表每页的表尾显示该贞订单额度总和,因
此将显示该内容的控件放在GmupFooter带区中。在报表最后
一页页尾除需显示该页的订单总额外,还需显示所有页额度
总和,因此将显示该内容控件放在ReportF硒ter带区中。该报
表每页的最底部都有一张Devexpress图片,承载该图片的
xRPictureBox控件就需放在BottomMargine带区中。在完成报
表结构设计后,进行报表样式设计,主要通过报表控件的属
性设计,通过设置控件的Size,BackGroundcolor.Borde尤olor
等属性控制控件的位置,背景色,边框颜色样式。
最后总结出报表结构和样式设计的一般步骤如下:新建
应用程序一添加xtraReport
Class
演示示例)中的表格报表为例分析表格报表制作过程和
silverli曲t部署环境下应用报表的方法及在此基础上完成航空
物探野外生产技术工作月报的制作和应用。
2表格报表制作
2.1报表结构和样式设计
xtraRepons的每个报表都是由报表带区(Report
B锄d)
和报表控件(ReponContml)组成的,报表是带区的容器,带
区是报表控件的容器。报表带区用来对报表进行布局,它包
含报表的结构信息。而报表控件用来承载报表信息,它包含
了报表样式信息和内容信息。一个报表可以包含一个或多个
报表带区,报表带区有多种类型,不同的报表带区类型有不
同用途,如表l所示,列举了报表带区类型及其用途。
xtmRepon工具箱中包含了报表使用的所有报表控件,包括
XRCheckBox,XRTable,XRPageInfo,XRPageBreak,XRL.ab—
v10.1模板一添加需要的
基金项目:中国国土资源航窄物探遥感中心对地观测技术丁程
实验室青年创新基金资助课题—航空物探勘查生产进度汇报与
统计查询软件研发,课题编号:2010YFL08l。
作者简介:欧阳红寅(1987一)。女,硕士,研究方向:网络
开发;田嵩(1985一),女,助理工程师。
le,xRchaJt,xRune,xRsubRepon,xRRichText等等控件。
控件的使用方法与.NET中控件使用方法一样,通过设置控件
属性来设计报表风格样式。
这里分析Developer
Expre88
v2010vol
l软件演示示例
收稿日期:201l一08一10
(、岛电器:器与主慕∥
万方数据
万方数据
电脑编程技巧与维护
需要的字段通过鼠标左键拖人到带区或者已有的控件上.这
样可以添加新的数据绑定控件或者绑定已有的控件。通过点
击鼠标右键将选中字段拖人到带区后放开鼠标则会弹出一个
选择菜单,其中包含可用来被该数据绑定的控件列表。
至此报表设计完成,在设计器中点击Preview按钮进行预
览,这时会有0rderID没有默认值错误提示.是什么原因呢?
前文1
2中提到的1抽leAdaDter
Fiu函数有一个0rderID参数。
这里需要调用该Fill函数并给OrderID传值.实现数据集中
DataTabIe数据的填充。因此在报表的c#代码端编写一个函数
并将整型的0rde“D设为参数,在该函数中实现参数的传递和
川l函数的调用。代码如下:
pllbIjc
void
和R。ponsennce。IR。ponsemce和R。ponservlce类包含用束进
行报表创建.输出.打印相天操作的函数,它们被声明为
servjcecontract(服务契约.这两个类函数客户端能够通过异步
的方式直接访问到。下面这两个类中蓖要的几个函数,
stanRu洲函数参数为xtraRe科)n,返l旦J值为Dncumen¨d。
st0DBuM函数参数为D(ⅪumentId,实现DocumentId的停止创
建。cetPage函数参数为DocumentId和pageIndex(页码索引
号).返回值为虬一nE型,用字符串来表示报表某贞的xAMI.
代码。s协nExpon参数为DocumentId实现将创建好的撤表输出
为E1P0nId。
客户端动态库DevElpress.xp£蹦nti“g有一个
ReponPrevlewModel类以及一个DocumentPrcview控件。
ReponP他viewM‘)de】类,用来将客户端接收到的来自服务器端
的I)ocumentId处理成DocumentPreview控件需要的报表模版。
它包含serviceu^属性和PH圯e豁Document函数。serviceu^属
性是s岍ng类型,值为服务器端wcF
sewice中继承了
R。ponservice和IR。ponservice又包含返回Docume丌lId函数的.
svc文件的相对路径。I)mcessDocument函数参数为
I)ocumentJd,返吲值为空。Docum邮tPrevlew控件用来显示报
表.该控件同时为报表提供打印,缩放,输出等工具栏。通
SetR8ponP蚴meter
0nt
ofde“D,bool
6llDataSel)
this.orderJD=oTde订D∥为orderII)属性赋值
dmrdeTDetailsl.CleⅡ0;
∥清除dsOrderDetailsl中数据
if
mllDacaSel)
orderDetailsTableAdapterl.FiU
(dsOlderDetajls
Orderl)etajl8'orderID)∥为报表数据源填充数据
应用报表时在实例化该报表后.接着调用该函数.就能
实现该数据集数据的填充了。如图3所示,为报表数据设计
完成后。
过设置DocumentPreview的ModeI属性为控件绑定报表。
通过卜述分析,可以得出如果想将服务端的撤表传送至
客户端.并在客户端进行撤表显示的一个思路即为在服务器
端使用StanBu-ld函数以xtmRepon为参数.返回一个
DocumentId。在客户端接收该返回值.并以该返回值为参数调
用Pmce8sDocument函数和设置se州ceu一属性。再将
D嘲Ils
of廿峙c嘶m哪ordF时出rl吖
1)ocumentPre“ew的M0del属性值设为HeponP化viewModel,这
m嘲^p口
'…~‘~r…
¨…
●~…
至量叵E=卫虽亘=二二二巫亟丑釜生喳三圃
匦奠I!罡!I竺i竺}竺l
写萄ii_『——:———]
样在silvedighI下就能完成报表的应用了。
3
2具体步骤
第一步:服务器端添加wcFservice.为了实现silverli曲t
口’・r…一-r,
际酗w_酬1一!
圈3最后表格报表界面
服务器端和客户端报表的通信。
第二步:让wcFsewlce对应的lsewjce.cs和service
svc.
cs的类分别继承IR。I,onservicc和R。ponservice.主要为了实
现在seⅣice剐ccs类中能够调用Reponse州ce巾的st缸Buil{J
函数,实现将x岫Repon转换成DocumentId。
第i步:在seⅣice郇ccs中编写一个stanBuildTabJeRe口一
o^函数.函数参数为int型OIderID.返回值为DocumentId。
在函数内部实现先实例化表格报表对象,然后调用前12部分
中的setR印onParamefer函数完成报表数据的填充。最后诃用
Reponse州ce中的stanBuild函数返回
DocumentId。
3
silve出ghI部署环境中表格报表的应用
Devexpress
x仃aR。po凼制作的撤表可以在winFo丌n,AsP
NET,wPF,sjIverIj曲t等多种部署环境下应用。这里以第一
部分中创建的表格报表为例,介绍如何silverL袖t环境下调用
撤表并显示在silver“小t客户端。
3
l与报表创建.输出.打印相关的函数殛作用
DevExpres吕.xlmRepons.service.I)atacontrac拓动态库下的
s£anBujldl讪1eR。pon函数代码如下:
pu“c
l
TableR8pon陀pon=new
D0c啪entId
stanBuildTabIeR。pon(jnt
oIderld)
DocuH他ntId.Documen“d用来识别撤表的,是一个被声明为
Datacon的ct(数据契约)的数据结构体.包含一个被声明为
1铀leRepon
O;
DataMember擞据成员)的string类型属性v—ue。被声明成数
据契约的类能在服务器端和客户端之间传送被声明为数据成
员的属性数据。
DevExp陀55
∥实例化表格报表
repon
setR。P0nPammeter(0rdedd,t川e);
∥为报表数据源填充数据
xhReporlB.service动态库下的lReportservice
remm
stanBujld∞po川;
万方数据
i迦》面器盛与习b
so丌wARE
DEvELoPMENTANDDEsIcN
软件开发与设计
提高野外生产管理效率。如图4所示.为月报的计划指标完
成情况一览表。
Ⅳ调用开始创建报表函数.返回D0cumentId
}
第四步:确保前面3个步骤正确后,在客户端将service
svc添加到se而ceRe如nce中.使客户端能够访问其中的函数。
第五步:客户端在报表调用页面,实例化se州cesvc暴露
在客户端的client类即serviceclient,再注册serviceclien£中
的sta^Buildl讪leR。poncomp】eted事件。
serviceClientclient=new
se丌iceClienl
O;
Ⅳ实例化sewicecljent类
cIient.Sta^BuildT曲leReponCompleted+=new
EventH明dler(StanBuildl铀leReponCompletedEventA学>
(cIienLstanBuildmleRepo^co“pleted);
∥注册st且ItBuildTableReponcompleted事件
第六步:在需要创建报表的地方调用seⅣiceclient中的
St且^BuildTableReponA5"c。
client.sⅫBuildTabIeReponA8y眦(0rdedD);
∥调用clienI中的开始创建报表函数
图4计划指标完成示意圈
5结语
第七步:在startBuildT洲eRcP0ncomp】咖d事件中接收Devexp嘟s
x昀Repons是一款功能强大的报表制作套件,
s妇nBuildmIeRepon函数返回的值,
R8po吐Pre订wM0deI对象.
void
实例化
它为用户提供了丰富的演示示例及源代码,演示示例包括静
调用PmceBsD0cu砒nt函数,
ReponP陀viewM0del赋值给D0cumentP刚iew控件的M0del值。
态报表,分栏报表等多种报表制作的过程及在AsP..N盯.
WjnFom8,wPF,silvedight等不同部署环境下的应用方法。
clieIlt-sⅫBuildTableR。poncomp】eted(object∞nder'
s吼BllildT捌eReponc砌PletedEventArgB
e】
f
R。Po^P陀viewModel
PrevjewModel=new
以表格报表的制作为例介绍Devexp瑚s
x廿aRePons报表制作
过程和在sjIvedighI部署环境下如何应用报表的方法.在此基
础上实现航空物探野外生产技术月报的制作和应用。通过对
表格报表制作和应用的详细分析,为读者提供研究Devexmss
x怕Repo巾示例的一般思路,希望对用户学习报表制作和应
用有所帮助。
R。ponPmviewModel(”..,rablese丌ice
svc”);Ⅳ实例化
f,reviewModel.ProcessD0cumenl(e.Re8ll】n;
/,接收返回的D0cumenⅡd生成撤表模板
documenIP陀viewl.Model-P陀viewM0del:
参考文献
【1】李福红.DevExpress表格控件运行时动态设置表格列[J].
电脑编程技巧与维护。20ll,6:34_37.
【2】程国雄,胡世清,朱春莺silverlighl和wcF媒体管理系
统[J]
电脑编程技巧与维护,2009.4:48—50.
【3】丫ux【ANG.x衄Repons中文帮助文档[K].smartSOR论坛,
2011.
删}Document胁订ewl控件M0del属性赋值
J
4
应用实例
现有的航空物探野外生产技术工作月报以纸质方式存档,
长期以来不便于月报的查询和管理。本文基于国家标准月报
格式及上述x呐Reports制作和在silvedight部署环境下应用两
项研究基础上,实现了航空物探野外生产技术工作月报的制
作和应用,用户通过输入月报查询条件,获取月报信息.以
web方式呈现月报,管理人员能够方便及时地获取月报信息.
(上接第5页)
务同步通信的正确性进行检查,因为通信错误会造成错误的
程序结果.而同错误则会造成程序死锁;第六,如果错误出
现不固定.可能是时序性错误造成.此时要检查同步通信;
而错误固定则要对数据特性定义、依赖关系等进行检查。
【4】程汤培.基于wcF的即时通信软件的设计与实现[J]
脑编程技巧与维护,2008,04:24_41.
【5】沈正.wcF研究与开发[J]
19:13.
电
中国新技术新产品,2009。
dh“吐hu蛳“瞰¨-弛圳h咐hudh弛d“叫h"吐-蛆dhⅫdh蛆内鲥幽牲柚“叫hⅫdh“柚蛐h”d“M删¨“Mb蛆d厶lh“dhq^鲥h旺dh弛dhqdh“蛳E
出版杜,2008.
【3】卢字彤,肖依.异构计算与并行程序设计环境【J】.计算
机工程与科学.2009,(4).
【4】黄宁,金茂忠.PvM并行调试环境的现状与技术分析『J1.
参考文献计算机研究与发展,2008,(6).
【1】李代平,张信一.罗寿文,等.分布式并行计算技术【M】.
北京:冶金工业出版社,2004
【2】郑纬民,汤志忠计算机系统结构lM】北京:清华大学
【5】陈国良.并行计算—结构・算法・编程【M】.北京:高等教
育出版社,2009.
万方数据
Devexpress XtraReports报表制作及Silverlight下的应用
作者:
作者单位:
刊名:
英文刊名:
年,卷(期):
欧阳红寅, 田嵩, 周迅, 洪友堂, OUYANG Hongyin, TIAN Song, ZHOU Xun, HONG Youtang
欧阳红寅,洪友堂,OUYANG Hongyin,HONG Youtang(中国地质大学(北京)土地科学技术学院,北京
,100083), 田嵩,周迅,TIAN Song,ZHOU Xun(中国国土资源航空物探遥感中心,北京,100083)
电脑编程技巧与维护
Computer Programming Skills & Maintenance
2011(20)
本文链接:/Periodical_