惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
Help Net Security
Help Net Security
Y
Y Combinator Blog
WordPress大学
WordPress大学
D
DataBreaches.Net
N
Netflix TechBlog - Medium
U
Unit 42
爱范儿
爱范儿
MyScale Blog
MyScale Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园 - 司徒正美
Google DeepMind News
Google DeepMind News
D
Docker
H
Help Net Security
Stack Overflow Blog
Stack Overflow Blog
宝玉的分享
宝玉的分享
博客园_首页
Microsoft Security Blog
Microsoft Security Blog
Engineering at Meta
Engineering at Meta
Know Your Adversary
Know Your Adversary
P
Privacy & Cybersecurity Law Blog
P
Proofpoint News Feed
T
Tenable Blog
S
Schneier on Security
V
Vulnerabilities – Threatpost
V
V2EX
T
Tor Project blog
Security Latest
Security Latest
S
Securelist
G
Google Developers Blog
NISL@THU
NISL@THU
Schneier on Security
Schneier on Security
Webroot Blog
Webroot Blog
小众软件
小众软件
Google Online Security Blog
Google Online Security Blog
阮一峰的网络日志
阮一峰的网络日志
W
WeLiveSecurity
IT之家
IT之家
I
InfoQ
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
月光博客
月光博客
I
Intezer
T
The Blog of Author Tim Ferriss
C
Cisco Blogs
博客园 - 【当耐特】
The GitHub Blog
The GitHub Blog
Cloudbric
Cloudbric
Scott Helme
Scott Helme
The Cloudflare Blog
L
LINUX DO - 热门话题

博客园 - 阿修罗一平

IIS部署WCF出现的各种问题汇总 Infragistics控件的工具栏注册 NUnit的使用中可能遇到的问题 Linq备忘 Nihibernate的重要知识点 Devexpress使用记录 PDA访问WCF PDA(WinCE)项目开发中遇到的问题及解决方法总结 Grid控件绑定bindingSource后在新增行时设置Cell的初始值 “BindingSource绑定单个实体对象后在代码中赋值无效和无法显示”的解决方法 sqlservier2005转成sqlserver2000中出现的问题(WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) 项目考虑因素及解决方案(.net) 设计模式在工作中的应用(三) 设计模式在工作中的应用(二) 设计模式在工作中的应用(一) NHibernate示例 Remoting服务集成到IIS的简单总结 关于Remoting服务启动和停止的简单总结 将公司系统从SqlServer 2K移植到Oracle 10g中的简要总结
使用List数据集合,利用DevExpress.XtraReports开发Master-Detail报表
阿修罗一平 · 2009-11-12 · via 博客园 - 阿修罗一平

  以前使用的是ActiveReport开发报表,第一次使用DevExpress开发报表,如遇到不正确的地方随意拍砖。一般在开发报表的时候,特别是开发Master-Detail结构的报表的时候,我们多数时候会选择DataSet作为数据源,今天讲讲如何使用List或者数组作为数据集合:

1、创建业务对象

public class Person
    {
        public string Name { get; set; }
        public int Age { get; set; }
    }


public class Room
    {
        public string No { get; set; }
        public List<Person> Persons { get; set; }//或者是List,或者是Person[],不能是IList,否则设计器在设置字表绑定时无法解                                                                         //析出Person的结构,其他的没有试过,没时间在这上面纠缠
    }

2、创建一个测试项目,创建一个XtraReport,添加一个bindingSource,比如Name是bindingSource1,绑定的类型是Room

3、在Detail中添加控件xrLabel1,然后控件的Text属性绑定Room的属性No。

4、右击Detail,增加一个Deatil Report,然后设置Deatil Report的datasouce 为"bindingSource1",datamember为"Persons ",如果不这样设置将无法显示出数据。然后添加控件xrLabel2,xrLabel3,其Text绑定Person的属性Name 和Age即可。

5、报表的设计工作已经完成,然后就是通过按钮调用报表类,并将获取的IList<Room>数据集合传入到XtraReport类中,调用ShowPreview()就可以看到效果了。

项目代码:https://files.cnblogs.com/yiping06993010/ReportTest.rar