这是我的代码:
CrystalReportViewer1.Zoom(75)
Dim rpt As New CrystalReport1
rpt.RecordSelectionFormula = "{members.id} ='3232'"
CrystalReportViewer1.ReportSource = rpt
CrystalReportViewer1.Refresh()
它显示所有记录,我不知道为什么
答案 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,但在很多情况下,这很荒谬。