-1

我想在我的网站中使用 Crystal Reports,并且我想在我的报告中显示两个不同的表格。据我了解,我应该使用视图,但我不知道应该如何使用它,或者我应该在水晶报表查看器后面的代码中编写什么代码?

你能告诉我我应该从这里做什么吗?

4

3 回答 3

2

我假设您正在使用 SQLServer,为了创建视图,请使用以下约定使用“创建视图”语句:

CREATE VIEW dbo.vStoreAccountNum
AS
SELECT AccountNumber
FROM Sales.Customer
WHERE CustomerType = 'S'

Xtreme.mdb如果您对 Crystal Reports 完全陌生,我建议您在使用 Visual Studio 中的 Crystal 之前,先玩一下 Crystal Reports 附带的示例数据库。

要在您的应用程序中使用 CR,请遵循此分步教程:

第 1 步:右键单击解决方案资源管理器,然后单击添加新项目

第 2 步:从对话框中添加一个水晶报表。

第 3 步:从 Crystal Reports 库中选择单选按钮(使用报表向导)并选择一个标准专家,然后单击确定按钮。

第 4 步:在这里我们必须添加数据库。从可用的数据源窗口中选择创建新连接,然后单击 OLEDB(ADO)

第 5 步:选择新连接,然后从列表中选择一个提供程序(Microsoft OLEDB Provider for SQL Server)

第 6 步:输入服务器名称并选择数据库,然后单击集成安全性,然后按下一步并单击完成按钮。

第 7 步:现在,返回标准报告创建向导并从数据库中选择表。

第 8 步:从表格中选择要在 Crystal Report 中显示的必填字段

第 9 步:从可用样式窗口中选择样式(例如:标准),然后单击完成

第 10 步:现在我们必须从 Add New Item 添加一个 WebForm,然后按 Add。

第 11 步:在这里,我们必须导入两个引用,即

CrystalDecisions.CrystalReports.Engine CrystalDecisions.Shared

Step12:现在,从工具箱中添加一个水晶报表查看器

Step13 : 现在我们必须在 defalut.aspx.cs 中导入以下命名空间

使用 CrystalDecisions.CrystalReports.Engine;
使用 CrystalDecisions.Shared;
使用 System.Data.SqlClient;

Step14:声明变量ReportDocument report = new ReportDocument();

Step15 : 接下来,在页面加载事件中编写如下代码

pt.Load(@"E:\practices\AppTestdetails\crystalreports\CrystalReport.rpt"); CrystalReportViewer1.ReportSource = 报告;CrystalReportViewer1.RefreshReport();

祝你好运!

于 2013-05-02T11:55:01.517 回答
2

您无需创建视图来显示来自多个表的数据。在水晶报表中添加表格,然后提供表格之间的连接。这些连接将单个结果集提供给水晶报表。

从结果中,您可以选择数据。

于 2013-05-02T11:55:27.260 回答
1

您需要将CrystalReportViewer控件添加到要在其上显示 Crystal Report 的页面:

    <CR:CrystalReportViewer ID="CrystalReportViewer1" 
                            runat="server" AutoDataBind="true" />

然后在您的代码中:

    ReportDocument myReportDocument = new ReportDocument();
    myReportDocument.Load("TheNameOfYourCrystalReportFile.rpt");
    myReportDocument.SetDataSource(yourDataSet);
    CrystalReportViewer1.ReportSource = myReportDocument;

设置 ReportSource 后,它会提示您输入参数。

在此处查看CrystalReportViewerReportDocument的参考资料。

将您的 xsd 文件加载到数据集中:

    DataSet yourDataSet = new DataSet();
    dataSet.ReadXmlSchema("DataSet1.xsd");
于 2013-05-02T15:13:34.940 回答