提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:我只采一朵|2017-12-21 11:14:47.000|阅读 1120 次
概述:在本文中,我们将介绍如何创建带有下拉组件的交互式报表。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
在本文中,我们将介绍如何创建带有下拉组件的交互式报表。我们将对记录进行分组,并以折叠形式显示。如有必要,用户可以打开并查看组的内容。该功能可以显着改善列表的用户体验。毕竟,组在报表中占用最小的空间,而不会使数据超载。你只会看到已打开的组的数据。
首先我们来创建一个包含组的报表。
我使用了交付的nwind.xml数据库。这次我们只需要一张表单 - 产品,就够了。
报表模板由五个带区组成:
在数据带中,我们放置字段:Products.ProductName
和 Products.UnitPrice
。
在组头中,我们将显示产品名称的首字母:
[[Products.ProductName].Substring(0,1)]
双击GroupHeader带区。
在带区的编辑器中,输入按照首字母分组产品的表达式。
排序已禁用。
现在双击数据带。在编辑器中,选择“排序”选项卡:
选择按产品名称排序。
在数据窗口中,新添加一个“Total”:
至于函数,我们使用“Count”:
下拉列表通常会有一个“加号”,表示该组已折叠。当列表展开时,图标变为“减号”。为了实现这个,我们使用CheckBox组件。将其放在组头旁边:
在添加的对象的属性中,更改CheckedSymbol,选择加号。而对于UncheckedSymbol,请选择减号。
现在,为CheckBox对象和右侧的文本字段,设置超链接属性:
在自定义选项卡上,设置表达式:
[Products.ProductName].Substring(0,1)
现在是时候写一丢丢代码了。我们选择GroupHeader带区。在属性查看器中,选择“Events”选项卡,找到 BeforePrint 事件并双击它,在处理句柄中添加以下代码:
string groupName = ((String)Report.GetColumnValue("Products.ProductName")).Substring(0, 1); //Gets group name bool groupVisible = expandedGroups.Contains(groupName); //Check the group visibility Data1.Visible = groupVisible;// Sets a data visibility according with group visibility GroupFooter1.Visible = groupVisible;// Sets the group footer visibility according with group visibility CheckBox1.Checked = !groupVisible;//Sets the checkbox condition according with group visibility
现在创建一个可见组的列表。之后会派上用场:
private List<string> expandedGroups = new List<string>();
让我们回到报表页面。选择CheckBox对象。在属性查看器中,我们切换到“事件”并通过双击创建“点击”的处理句柄。
string groupName = (sender as CheckBoxObject).Hyperlink.Value; // Gets group name from hyperlink if (expandedGroups.Contains(groupName)) //If the list of visible groups contains selected group expandedGroups.Remove(groupName); // Then delete selected group from the list of visible groups else expandedGroups.Add(groupName); //Else add group to list of visible groups Report.Refresh(); //Refresh the report
报表已经就绪。我们接着创建一个Web应用程序。
我使用的是ASP.Net MVC项目。
在Reference中添加astReport.Net提供的FastReport.dll和FastReport.Web.dll。
在HomeController中,添加以下代码:
添加库:
using FastReport.Web; using System.Web.UI.WebControls; public ActionResult Index() { WebReport webReport = new WebReport(); webReport.Height = Unit.Percentage(100); webReport.Width = Unit.Percentage(100); string report_path = "J:\\Program Files (x86)\\FastReports\\FastReport.Net\\Demos\\Reports\\"; System.Data.DataSet dataSet = new System.Data.DataSet(); dataSet.ReadXml(report_path + "nwind.xml"); webReport.Report.RegisterData(dataSet, "NorthWind"); webReport.Report.Load(report_path + "InteractiveDrillDown.frx"); ViewBag.WebReport = webReport; return View(); }
我们逐行分析一下:
现在编辑视图Index.cshtml:
@{ ViewBag.Title = "Home Page"; } @ViewBag.WebReport.GetHtml()
在_Layout.cshtml文件中添加脚本和样式:
<head> @WebReportGlobals.Scripts() @WebReportGlobals.Styles() </head>
在View文件夹的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>
现在运行Web应用程序:
如你所见,当你点击加号或组头时,它将会展开。在这种情况下,加号变为负号。当你再次点击组头或减号时,则组会折叠。以上。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
用于快速高效地生成报表的附加组件
FastScriptFastScript是一个跨平台的多语言脚本引擎,帮助开发者在他们的应用程序中增加脚本功能。
FastCube VCLFASTCUBE VCL是一款有效的数据分析工具
FastReport .Net一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案。
FastQueryBuilderFastQueryBuilder是一款简单实用的可视SQL请求软件开发包。它与本地CS数据库兼容。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢