FastReport使用交流,FastReport中国社区FastReport联系电话 联系电话:17347785263

如何使用FastReport切换排序制作交互式报告?

来源:   发布时间:2021-07-07   浏览:次

FastReport .Net是适用于Windows Forms,ASP.NET,MVC和.NET Core的全功能报表解决方案。它可以在Microsoft Visual Studio 2005-2019中使用。支持.Net Framework 2.0-4.x,.NET Core 3.0及以上版本。

在FastReport .NET 2021.3的新版本在演示应用程序中实现了HiDPI支持。添加了用于嵌入Blazor Server应用程序的Razor组件。XODT和XODS有新的出口。FastReport OpenSource版本现在可以导入DevExpress,List和Label以及SQL Server Reporting Services报表。(点击下方按钮下载)

立即点击下载FastReport.NET v2021.3最新版

Fastreport.NET在线购买价优惠,专享85折起!赶紧加入购物清单吧!

有时,我们的用户会面临制作交互式报告的任务。可能是查询后可以更改数据排序顺序的报表。今天,我们将考虑创建这样一个报告的过程。

让我们假设我们有一个带有配置排序的就绪文件。作为示例,我们将从 FastReport .NET 演示应用程序中获取一个简单列表报告。

如何使用FastReport切换排序制作交互式报告?

该报告具有配置的排序:

如何使用FastReport切换排序制作交互式报告?

首先,乐队按姓名排序,然后按姓氏排序。排序按升序进行,即在 Cyrillic 字体的情况下从 A 到 Я,或者在 Roman 字体的情况下从 A 到 Z。

现在我们将交互性添加到我们的报告中。选择一个文本对象——例如一个标题,然后添加一个事件处理程序 Click。因此,单击对象后,预览会显示我们将配置的功能。

如何使用FastReport切换排序制作交互式报告?

此外,我们将 Cursor 属性更改为 Hand,以便光标在指向对象时变为手形。因此很明显该对象是可点击的。

如何使用FastReport切换排序制作交互式报告?

让我们看看在 FastReport 中排序是如何工作的,以便我们能够编写函数代码。
数据排序存储为值的集合。有几个选项可以实现排序更改,但所有选项都简化为修改此集合。
如果我们查看代码中的排序,我们将看到一个方法和属性列表。我们将使用属性降序和表达式。

如何使用FastReport切换排序制作交互式报告?

Expression 属性与设计器中的“Sort by...”字段一致,而 Descending 属性与“升序/降序”切换一致。请注意,设计器只能配置三个排序规则,而代码中可以添加无限数量的排序规则。因此,设计者不支持超过三个规则。打开保存有4条规则的band属性时,会显示前3条,更改后只保存。

排序规则的顺序从索引为 0 的规则开始;然后应用索引为 1 的规则,依此类推。
在我们的例子中,Sort 集合有两个值:
1) Expression = [Employees.FirstName], Descending = false
2) Expression = [Employees.LastName], Descending = false
现在,我们开始编写代码。

我们添加“排序”变量,它将设置排序的顺序:

bool sorting = false;

要更改排序顺序,必须更改 Descending 属性。我们将针对 Sort 集合的零元素进行更改,然后将 Sorting 反转并更新报告:

 private void Text1_Click(object sender, EventArgs e)
 {
 Data1.Sort[0].Descending = sorting;
 sorting = !sorting;
 Report.Refresh();
 }

如果我们启动报告并单击标题 - “员工” - 我们将看到以下内容:

如何使用FastReport切换排序制作交互式报告?

如您所见,排序是颠倒的;最终记录现在排在第一位。值得注意的是,Sort 集合不仅可以修改,还可以添加或删除其元素。例如,排序更改可以以不同的方式完成:

 private void Text1_Click(object sender, EventArgs e)
 {
 Data1.Clear();
 Data1.Sort.Add(new Sort("[Employees.FirstName]", false));
 Data1.Sort.Add(new Sort("[Employees.LastName]", sorting));
 sorting = !sorting;
 Report.Refresh();
 } 

在这段代码中,我们清除了集合并向其中添加了两个新的排序规则,其中一个具有可变属性。

因此,我们研究了如何从脚本中更改排序。除了通过单击更改排序之外,您还可以将上述功能与其他功能结合使用。例如,您可以通过单击对话选项卡中的按钮、制作数据源字段的交互式列表或根据任何其他值更改排序来更改带区排序。

如果您对FastReport感兴趣,欢迎加入FastReport QQ交流群:801349317

还想要更多吗?可以您点击阅读【FastReport的报表2020最新资源盘点】,查找需要的教程资源。让人兴奋的是FastReport的.NET报表正在慧都网火热销售中!低至3701元型态起!> >查看价格详情

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/3139.html

联系我们
  • 重庆总部 17347785263
购买
  • sales@evget.com
合作
  • business@evget.com


在线
客服
在线
QQ
电话
咨询
023-68661681
返回
顶部