首页 > 代码库 > 水晶报表的三种筛选方法

水晶报表的三种筛选方法

目录:

一、解决方案一:报表数据访问使用推模型

二、解决方案二:记录选定公式运行时自定义

三、解决方案三:将参数合并到记录选定公式

----------------------------------

解决方案一:

报表数据访问使用推模型

需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集,并且将该对象传递给报表。该方法使您可以将连接共享置入应用程序中,并在 Crystal Reports 收到数据之前先将数据筛选出来。

----------------------------------

解决方案二:

记录选定公式运行时自定义

1、通过查看器控件传递选定公式

[Visual Basic]

Dim SelectFormula As String

SelectFormula = "{客户.去年销售额} > " & textBox1().Text

crystalReportViewer1.SelectionFormula = SelectFormula

[C#]

string selectFormula;

selectFormula = "{客户.去年销售额} > " + textBox1.Text;

crystalReportViewer1.SelectionFormula = selectFormula;

[C++]

String* selectFormula;

selectFormula->Concat

("{客户.去年销售额} > ", textBox1->Text);

crystalReportViewer1->SelectionFormula = selectFormula;

2、通过报表对象传递选定公式

[Visual Basic]

Dim selectFormula As String

selectFormula = "{客户.去年销售额} > " & textBox1().Text

Report.DataDefinition.RecordSelectionFormula = selectFormula

[C#]

string selectFormula;

selectFormula = "{客户.去年销售额} > " + textBox1.Text;

Report.DataDefinition.RecordSelectionFormula = SelectFormula;

[C++]

String* selectFormula;

selectFormula->Concat

("{客户.去年销售额} > ", textBox1->Text);

Report->DataDefinition->RecordSelectionFormula = selectFormula;

3、刷新相应的报表,方法是使用以下代码行结束这段代码:

CrystalReportViewer1.RefreshReport()

该公式得以更新,将使用新的最小值(上年度的销售额)。

----------------------------------

解决方案三:

将参数合并到记录选定公式

参数字段不必放入报表中即可在记录或组选定公式中使用。创建参数字段,然后像插入其他字段那样将其输入到公式中。

用公式进行记录选定

若要减少从数据库服务器传输的数据量并改善性能,请将参数字段直接合并到记录选定公式中。

下面的记录选定公式提请用户输入销售配额,并只显示去年销售额超过销售配额的所有客户。

{客户.去年销售额} > {?SalesQuota}

需要开发人员编写代码在运行时传递参数值……