RDLC多列排序:排序数字作为字符串问题

本文关键字:排序 字符串 问题 RDLC 数字 | 更新日期: 2023-09-27 18:13:12

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

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

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

  • 第一种方法是在第一个排序字段上使用"&"连接字段,使用表达式=Fields!Title。值,字段! EstimatedHours。价值这个将对数据进行排序,但它将数字排序为字符串,这意味着当你按升序排序时,250.00将始终位于3.6的顶部,我没有在其他数据类型(如日期等)上进行测试,但我确信它会导致同样的事情。

  • 我发现的第二种方法是为我在Tablix属性窗口的sort选项卡上的每个排序字段添加排序字段表达式文本框,就像这样。

  • 在第一个文本框上=> =字段!值
  • 第二个文本框=> = Fields!值

通过这种方式,它将只对我在第一个文本框中提供的第一个字段的数据进行排序,而忘记其他字段。

所以我的问题是我在这里错过了什么使上面的排序工作?

提前感谢大家,希望在大家的帮助下解决这个问题。如果它有帮助,我使用Visual Studio 2010终极版,RDLC版本10,实体框架5和对象datasourceccontrol与自定义方法,返回我的自定义对象的列表来填充报告。

RDLC多列排序:排序数字作为字符串问题

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