提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:我只采一朵|2017-12-19 10:50:54.000|阅读 864 次
概述:我们已经讲解过很多网页报表的开发技巧了,今天我们讲一讲如何创建交互式矩阵报表(也可以称为交叉报表)。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
相关链接:
我们已经讲解过很多网页报表的开发技巧了,今天我们讲一讲如何创建交互式矩阵报表,或者说交叉报表。我们将使用FastReport.Net的xml数据库。选择好表格:

添加矩阵(Matrix)对象到数据带区:

现在在数据窗口中打开“订单明细”表。你将看到相关联的表:产品与订单。打开订单。它又连接着一张表——员工。我们打开它并将FirstName字段拖到列头:

双击添加的字段。让我们将LastName字段添加到FirstName字段,以显示员工的全名。所以,整个字段组成如下所示:
[Order Details.Orders.Employees.FirstName]+" "+[Order Details.Orders.Employees.LastName]
这大幅扩展了列头。让我们禁用“自动宽度”功能。要做到这点,请右键单击Matrix对象。然后在上下文菜单中勾选掉“自动尺寸”:

现在你可以自由调整行和列的大小。
将Photo字段拖到列头。调整单元格大小以适应添加的字段。
现在找到在订单明细表中找到关联的产品表。打开它。它也有一张关联的类别表。将CategoryName字段从类别表中拖动到行头,并将Picture字段放到同一个单元格。

现在,将“单价”字段从订单明细表拖到数据单元格中。编辑添加的字段。你需要查找三个字段的产品:单价,数量和单折扣。因此,我们找到真正的销售额:
[Order Details.UnitPrice] * [Order Details.Quantity] *(decimal)(1 - [Order Details.Discount])
矩阵几乎准备就绪,它还有待选择样式。右键单击矩阵,然后选择“样式”。例如,橙色。这就已经很漂亮了:

在单独的页面上创建详细的报表。在报表中添加第二页。
将Order Details.OrderDate字段添加到数据带区。接下来,我们将Order Detail.Products.ProductName字段放在它旁边。同时拖动字段:Order Detail.UnitPrice、Order Detail.Quantity和Order Detail.Discount。
要显示所需的员工的数据,你需要过滤表格。我们将传输数据以比较第一页和第二页。为此,请在第二页中创建参数。针对这个选项,我们创建了两个子参数,都是字符串类型:

现在为数据带添加一个过滤器。双击并选择“过滤器”选项卡:
[Order Details.Orders.Employees.FirstName] + " " + [Order Details.Orders.Employees.LastName] == [Parameters.Employee] && [Order Details.Products.Categories.CategoryName] == [Parameters.Category]
在这里,我们比较员工姓名与参数,以及类别名称与参数。
我们为详细报表添加一个标题:
[Parameters.Employee] order's.
最终,模板如下:

Tab Report page:我们回到第一页。选择矩阵的数据字段。在属性查看器中,我们找到“超链接”并打开超链接编辑器。在报表页面:
选择第二页和参数“Parameters”,子参数的值将被自动插入。
报表已经准备完毕。我们保存它。
现在创建一个Web应用程序,我将使用ASP.Net MVC项目。
在“参考”中添加对FastReport.dll和FastReport.Web.dll库的引用。
在Controllers文件夹中,找到文件HomeController.cs。这是起始页面的控制器。在这里,我们将使用报表对象。
我们添加缺少的库:
using FastReport.Web; using System.Web.UI.WebControls;
添加负责起始页面的Index方法的代码:
public ActionResult Index()
{
WebReport webReport = new WebReport(); //create the instance of the WebReport.
webReport.Width = Unit.Percentage(100); //set the webReport object width 100%
webReport.Height = Unit.Percentage(100); //set the webReport object heigh 100%
string report_path = "J:\\Program Files (x86)\\FastReports\\FastReport.Net\\Demos\\Reports\\"; //reports folder
System.Data.DataSet dataSet = new System.Data.DataSet(); //create a dataset
dataSet.ReadXml(report_path + "nwind.xml"); //load the xml db
webReport.Report.RegisterData(dataSet, "NorthWind"); //register db in thr report
webReport.TabPosition = TabPosition.Hidden; //hide the detail reports tabs
webReport.ShowBackButton = true;// show back button
ViewBag.WebReport = webReport; //pass the web report to View
return View(); }
这里有两个有趣的选项:TabPosition和ShowBackButton。第一个负责显示工具栏上的报表标签。我们已经隐藏了标签。第二个选项设置“返回”按钮。它可以让你回到以前的报表。
现在我们将在视图中显示报表。我们打开index.cshtml文件(Views-> Home文件夹)进行编辑。
设置页面标题并显示网页报表:
@{
ViewBag.Title = "Home Page";
}
@ViewBag.WebReport.GetHtml()
在_Layout.cshtml文件的<head>部分添加脚本和样式:
<head> @WebReportGlobals.Scripts() @WebReportGlobals.Styles() </head>
在“视图”文件夹中的Web.config文件中添加命名空间。
<namespaces> <add namespace="FastReport" /> <add namespace="FastReport.Web" /> </namespaces>
添加位于项目根目录的处理句柄Web.config文件:
<system.webServer> <handlers> <add name="FastReportHandler" path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers.WebExport"/> </handlers> </system.webServer>
运行应用程序。我们的矩阵报表大概长这样:

点击任何数据单元的类别总数。我们看到有关相关人员和类别的详细报表:

详细报表显示此员工从所选类别中发出的所有订单。
现在我们可以为网页页面创建交互式矩阵了,技能树上又点亮了一个新技能。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@hmdbvip.cn



在嵌入式软件测试领域,对交叉编译代码进行单元测试是一大挑战。Parasoft C/C++test作为专业的C/C++测试工具,能够与劳特巴赫Trace32调试器深度集成。下面会详细介绍如何在C++test中配置Trace32调试器,实现对PowerPC架构程序的单元测试,涵盖环境设置、项目导入到测试执行的全过程。
本文将为大家介绍如何使用DevExpress WinForms数据网格控件实现摘要文本的格式化,欢迎下载最新版组件体验!
Parasoft C/C++test作为一款功能强大的自动化测试工具,为嵌入式开发提供了全面的测试解决方案。特别是在CCS开发环境中,C++test能够无缝集成,为F2812等DSP项目提供专业的单元测试支持。下面将介绍如何在CCS3环境下配置和使用C++test进行F2812项目的单元测试。
在嵌入式开发中,尤其是基于ARM架构的安全关键领域,单元测试是验证代码在目标硬件上运行时行为正确性的关键环节,对于保障最终产品的可靠性至关重要。下面将介绍如何利用Parasoft C/C++test开展单元测试,包括配置、执行及解决可能遇到的许可证问题,完成从静态检查到动态运行的完整测试闭环。
相关产品
用于快速高效地生成报表的附加组件
FastScriptFastScript是一个跨平台的多语言脚本引擎,帮助开发者在他们的应用程序中增加脚本功能。
FastCube VCLFASTCUBE VCL是一款有效的数据分析工具
FastReport .Net一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案。
FastQueryBuilderFastQueryBuilder是一款简单实用的可视SQL请求软件开发包。它与本地CS数据库兼容。
最新文章 MORE
永利最大(官方)网站相关的文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@hmdbvip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
永利最大(官方)网站 