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

Sis*_*kle 2 c# asp.net sorting reporting rdlc

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

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

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

  • 第一种方法是在第一个排序字段上使用"&"连接字段,使用像这样的表达式= Fields!Title.Value&Fields!EstimatedHours.Value这个将对数据进行排序,但它将Numbers排序为字符串,这意味着当您排序时升序250.00将始终在3.6的顶部我没有在其他数据类型如Date等测试它但我相信它会导致相同的事情.

  • 我找到的第二种方法是为Tablix Properties窗口的Sort选项卡上的每个排序字段添加一个排序字段表达式文本框,就像这样.

  • 在First Text Box => = Fields!Title.Value
  • 在Second Text Box => = Fields!EstimatedHours.Value

通过这种方式,它只会对我在第一个文本框中给出的第一个字段上的数据进行排序,而忘记了其余的字段.

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

提前谢谢大家,我希望能在你的帮助下解决问题.如果它有助于我使用Visual Studio 2010 Ultimate Edition,RDLC Version 10,Entity Framework 5和Object DataSourceControl以及自定义方法,该方法返回我自定义对象的List以填充报告.

Sis*_*kle 9

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