.net Crystal报表中的动态排序

.net Crystal报表中的动态排序,.net,crystal-reports,.net,Crystal Reports,我已经用C写了一个程序。我的水晶报告有问题。我想通过单击标题中的链接对报表中的数据进行排序 这在crystal report中可能吗?有点像 如果您使用BusinessObjects Enterprise(BOE)分发报告,您可以: 创建一个带有参数字段({?sortedField)的报告,该字段将用于设置报告的排序 创建一个公式字段({@sortedField}),该字段使用{?sortedField}选择应用于排序的数据库字段 报告中的参考{@sortedField}报告排序专家 在字段标

我已经用C写了一个程序。我的水晶报告有问题。我想通过单击标题中的链接对报表中的数据进行排序

这在crystal report中可能吗?

有点像

如果您使用BusinessObjects Enterprise(BOE)分发报告,您可以:

  • 创建一个带有参数字段({?sortedField)的报告,该字段将用于设置报告的排序
  • 创建一个公式字段({@sortedField}),该字段使用{?sortedField}选择应用于排序的数据库字段
  • 报告中的参考{@sortedField}报告排序专家
  • 在字段标题中创建一个链接,将参数字段设置为所需值并重新运行报告
如果您不使用BOE,您可以使用自己的Url方案来执行类似的操作

例如:

假设

  • 使用Xtreme.mdb创建了一个报告
  • 该报告由两列组成,分别列出客户名称(Customer.Customer Name)和地区(Customer.Region)
实施

创建两个参数字段:

AscSortedField-字符串;默认值:CustomerName DescSortedField-字符串;默认值:忽略

创建两个公式字段:

ASCDfield

描述字段

打开报表的记录排序专家。添加{@AscSortedField};确保其排序方向设置为“升序”。添加{@DescSortedField};确保其排序方向设置为“降序”

用法

如果要按客户名称升序对报告进行排序,请将AscSortedField参数的值设置为“CustomerName”,并将DescortedField参数的值设置为伪值(例如“忽略”)


如果要按区域降序对报告进行排序,请将AscSortedField参数的值设置为“忽略”,并将DescortedField参数的值设置为“区域”。

您能给我举个例子吗,我使用的是visual studio 2008 crystal report
//AscSortedField
//If the parameter's value isn't found, a NULL is returned (a good thing)
SELECT {?AscSortedField}
CASE "CustomerName": {Customer.Customer Name}
CASE "Region": {Customer.Region}
//DescSortedField
//If the parameter's value isn't found, a NULL is returned (a good thing)
SELECT {?DescSortedField}
CASE "CustomerName": {Customer.Customer Name}
CASE "Region": {Customer.Region}