使用List数据集合,利用DevExpress.XtraReports开发Master-Detail报表
以前使用的是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