2010-03-11 76 views
0

我已经用C#编写了一个程序。 我在水晶报告中遇到问题。我想通过单击标题中的链接对报告中的数据进行排序。水晶报告中有可能吗?在CRYSTAL REPORT中排序

请帮助 感谢...

回答

2

均田。

如果你发布与BusinesObjects企业(BOE)报告中,您可以:

  • 创建将被用于设置报告的排序
  • 创建参数字段({sortedField?)的报告使用{?sortedField}选择应使用哪个数据库字段进行排序的公式字段({@sortedField})
  • 参考报告中的{@sortedField}报告排序专家
  • 在字段头中创建一个OpenDocument Url链接,该链接将参数字段设置为所需的值并重新运行报告。

如果你不使用BOE,你可以推出你自己的Url方案来做类似的事情。

实施例:

假设

  • 的报告已使用Xtreme.mdb中创建的。
  • 该报告是客户名称(客户。客户名)和地区(客户。地区)

实施

创建两个参数字段的两列清单:

AscSortedField - 字符串;默认值:客户名称 DescSortedField - 字符串;默认值:忽略

创建两个公式字段:

AscSortedField

//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

//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} 

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

使用

如果要排序的客户名称升序排列的报告中,AscSortedField参数的值设置为“客户名称”和DescSortedField参数的值设置为空值(例如“忽略”) 。

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

+0

你能举个例子吗,我用visual studio 2008水晶报表 – 2010-03-13 06:06:43