Crystal Reports RecordSelectionFormula不起作用

时间:2012-02-04 09:43:20

标签: vb.net crystal-reports

这是我的代码:

CrystalReportViewer1.Zoom(75)
Dim rpt As New CrystalReport1
rpt.RecordSelectionFormula = "{members.id} ='3232'"
CrystalReportViewer1.ReportSource = rpt
CrystalReportViewer1.Refresh()

它显示所有记录,我不知道为什么

2 个答案:

答案 0 :(得分:1)

Dim CrReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument
CrReport = New CrystalDecisions.CrystalReports.Engine.ReportDocument()
CrReport.Load(Application.StartupPath & "\CrystalReport1.rpt")
CrReport.SetDataSource("HERE YOUR DATASET USED IN DA DESIGN OF CRYSTALREPORT1.rpt")
CrystalReportViewer1.ReportSource = CrReport
CrReport.RecordSelectionFormula = "{members.id} ='3232'"

您的CRYSTALREPORT1.rpt必须位于您的appath的\\BIN\DEBUG处,并且必须在之前创建它。就像设计师从Visual Studio那样的对象......>添加新项目> CR

答案 1 :(得分:1)

您必须在表单报表(设计视图)中创建CrystalReportDocument,然后,Visual Studio将显示一个窗口,您可以在其中为CrystalReportDocument选择一个类。选择与report.rpt相关的类,然后在print事件中添加:

crystalReportDocument.Load(@"reports\report.rpt");

crystalReportDocument.RecordSelectionFormula = "{viewTable.IdTable}=1";

crystalReportDocument.PrintToPrinter(1, false, 0, 0);

viewTable是数据库中的视图元素。

很多人都习惯于DATASET,但在很多情况下,这很荒谬。