2

我正在开发一个使用具有本地处理模式的 Microsoft RDLC 报告框架的 .Net 4.0 Web 项目,我的问题是我必须使用动态列名字符串数组参数对表格数据进行排序,所以当我在互联网上进行研究时(对不起我现在没有与我进行研究的实际链接)我发现我有这个选项。

  1. 使用交互式排序——我不能使用 b/c 排序列不是预定义的,我有更多不可见的列(没有标题或列)但仍然参与排序。
  2. 使用 tablix 属性上的排序选项卡 – 这是解决我的问题的理想方法,但现在我遇到了一个问题。

我在互联网上发现可以在 tablix 属性的排序选项卡上以两种方式指定排序字段。

  • 第一种方法是使用“&”连接字段 在第一个排序字段上使用这样的表达式 =Fields!Title.Value & Fields!EstimatedHours.Value 这将对数据进行排序,但它将数字排序为字符串,这意味着当您按升序排序时,250.00 将始终位于 3.6 的顶部我没有在 Date 等其他数据类型上对其进行测试,但我确信它会产生同样的结果。

  • 我发现的第二种方法是为我在 Tablix 属性窗口的“排序”选项卡上拥有的每个排序字段添加一个排序字段表达式文本框,如下所示。

  • 在第一个文本框 => =Fields!Title.Value
  • 在第二个文本框 => = Fields!EstimatedHours.Value

这样,它只会对我在第一个文本框中提供的第一个字段上的数据进行排序,而忘记其余字段。

所以我的问题是我在这里缺少什么来进行上述排序工作?

提前谢谢大家,我希望我能在你们的帮助下解决这个问题。如果有帮助,我将使用 Visual Studio 2010 Ultimate Edition、RDLC 版本 10、Entity Framework 5 和 Object DataSourceControl 以及自定义方法,该方法返回我的自定义对象列表以填充报告。

4

1 回答 1

9

我解决了我的问题。诀窍是在详细信息组-> 组属性-> 排序选项卡上指定 RDLC 文件中的排序列,而不是将它们放在 tablix 属性-> 排序选项卡上。这完美地解决了我的问题。希望它可以帮助某人。

于 2013-05-13T15:39:25.713 回答