关键字:

常见问题

更多>>

最受欢迎的文章

更多>>

最新文章

更多>>

文章存档

  • 2012年06月(6)
  • 2012年07月(83)
  • 2012年08月(62)
  • 2012年09月(30)
  • 2012年10月(8)
  • 2012年11月(11)
  • 2012年12月(9)
  • 2013年01月(7)
  • 2013年02月(1)
  • 2013年03月(1)
  • 2013年04月(1)
  • 2013年05月(2)
  • 2013年06月(1)
  • 2013年07月(2)
  • 2013年08月(4)
  • 2013年09月(4)
  • 2013年10月(3)
  • 2013年11月(2)
  • 2013年12月(1)
  • 2014年01月(1)
  • 2014年03月(1)
  • 2015年06月(2)
  • 2015年10月(1)
  • 2015年11月(9)
  • 2015年12月(2)
  • 2016年02月(1)
  • 2016年04月(1)
  • 2016年05月(16)
  • 2016年07月(4)

热门Tag标签

FastReport.Net v2016.6 FastScript安装 安装 VCL mvc FastReport.Net 报表 FastReport.Net v2016.2 TeeChart,图表开发 FastReport FMX 2.3 FastReport.Net v2016.1 FastReport.Net更新 FastCube VCL v2.5 FastReport VCL FastReport Online Designer教程 FastReport Online Designer组件 FastReport在线报表设计器:组件简介 FastReport在线报表设计器:界面结构简介 FastReport在线报表设计器:工作原理 FastReport Online Designer简介 FastReport Online Designer促销 FastReport Online Designer FastReport.Net授权促销 数据库查询构建 使用技巧 fastreport,报表 脚本引擎 FastScript FastScript, 脚本引擎  OLAP控件 

使用列表和数组作为报表数据源

作者:Allen    来源:    浏览:Loading...      日期:2016-05-06

大多数现代报告工具允许您使用几乎任何数据库,然而,并不是所有报表工具都能以一个数据源的列表或数组来工作。本文中将展示如何使用FastReport .Net报表工具来实现。

<获取FastReport .NET最新试用版>

请注意以下重要几点:

  • 清单中的对象字段应该被描述为在报表中可见的公共属性;
  • 除列表外你可以从任何IEnumerable集中提交你的报表数据;
  • 在报表中转移LINQ查询结果你需要使用ToArray方法转换列表。

创建窗体应用程序。

在报表中给出类别列表,对于每个类别将增加产品列表。

声明变量:

private List<Category> FBusinessObject; private Report FReport;

顾名思义,它是一个类别列表和报表对象。

所以,添加一个类的产品:

public class Product { private string FName; private decimal FUnitPrice; public string Name { get { return FName; } } public decimal UnitPrice { get { return FUnitPrice; } } public Product(string name, decimal unitPrice) { FName = name; FUnitPrice = unitPrice; } }

正如你所见,给对象的字段声明是公共的。

现在添加类的类别:

public class Category { private string FName; private string FDescription; private List<Product> FProducts; public string Name { get { return FName; } } public string Description { get { return FDescription; } } public List<Product> Products { get { return FProducts; } } public Category(string name, string description) { FName = name; FDescription = description; FProducts = new List<Product>(); } }

对象类别的字段之一是一个产品列表,也就是说,一个类别的列表是队列的一个数组。

创建数据源:

public void CreateDataSource() { FBusinessObject = new List<Category>(); //Create list of categories Category category = new Category("Beverages", "Soft drinks, coffees, teas, beers"); //Create new instance of category category.Products.Add(new Product("Chai", 18m)); //Add new product to category category.Products.Add(new Product("Chang", 19m)); category.Products.Add(new Product("Ipoh coffee", 46m)); FBusinessObject.Add(category); //Add the category to the List category = new Category("Confections", "Desserts, candies, and sweet breads"); category.Products.Add(new Product("Chocolade", 12.75m)); category.Products.Add(new Product("Scottish Longbreads", 12.5m)); category.Products.Add(new Product("Tarte au sucre", 49.3m)); FBusinessObject.Add(category); category = new Category("Seafood", "Seaweed and fish"); category.Products.Add(new Product("Boston Crab Meat", 18.4m)); category.Products.Add(new Product("Red caviar", 15m)); FBusinessObject.Add(category); }

从注释中显而易见,创建了一个对象类别列表。然后创建一个新的类别,并将所需数量的产品添加进去,在类别列表中添加类别。再添加上几类产品。

数据源已经创建,现在你需要在RegisterData方法的帮助下注册报表:

public void RegisterData() { FReport.RegisterData(FBusinessObject, "Categories"); }

此方法显示报表中列表名为“Categories”。

在设计器重添加方法运行报表:

public void DesignReport() { FReport = new Report(); CreateDataSource(); RegisterData(); FReport.Design(); }

在这里,我们创建了一个报表对象和数据源的实例。我们还注册了数据源,并在设计器中打开报表。

添加一个按钮方法来调用报表设计器:

public void button1_Click(object sender, EventArgs e) { DesignReport(); }

在报表设计器中,需要在菜单数据中选择数据源→选择报表数据…

选择报表数据源

创建一个简单的Master-Detail类型报表:

创建报表

在预览模式下运行报表:

创建报表

综上所诉:FastReport .NET再次证明是一个灵活的,现代化产品,您可以在您的应用程序中使用必要的数据而不必将它们转换成数据表。

为方便您查看文中代码请移步:https://www.evget.com/article/2016/5/6/24031.html

产品视频资源等请查看>>

获取更多产品信息请咨询>>

文章英文官网地址:https://www.fast-report.com/en/blog/83/show/

Tag标签:FastReport.Net 报表 

上一篇: 在数据库中保存FastReport .Net报表

下一篇: 浅谈FastReport. Net报表样式风格


下载试用 | 技术指南 | 常见问题 | 联系方式 | 法律顾问:欣力律师事务所

慧都科技旗下网站-FastReport中文网版权所有 Copyright 2012

FastReport,报表控件,FastReport报表,VCL报表,.NET报表,COM/ActiveX报表,OLAP控件,联机分析处理