在 Visual Studio 网站中将非嵌入式报表绑定到 CrystalReportViewer 控件

本节介绍了一种最简单的非嵌入式报表绑定方法,便于项目查找和显示报表。

Note注意

此过程仅适用于已通过“项目设置”创建的项目。“项目设置”包含此过程需要的特定命名空间引用和代码配置。如果没有该配置,将无法完成此过程。因此,在开始此过程之前,必须首先执行“项目设置”中的步骤。

  1. 要定位该报表,请转到 Crystal Reports 示例报表目录的 Feature Examples 文件夹中的“Hierarchical Grouping.rpt”文件。(有关示例报表的位置,请参见“示例报表目录”。)
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images/8yfdxzdx.alert_note(zh-cn,VS.90).gif" alt="Note" class="note" />注意</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>这个 Hierarchical Grouping 报表将从 Access 数据库 xtreme.mdb 中检索数据。如果尚未验证此数据库的位置及其 ODBC DSN 配置,请参见<a href="ms225528(v=vs.90).md">“需要验证的事项”</a>。</p></td>
</tr>
</tbody>
</table>
  1. 复制该报表的文件目录路径。

  2. 打开包含 CrystalReportViewer 控件的 Default.aspx Web 窗体。

  3. 单击“视图”菜单中的“代码”,查看该 Web 窗体的代码隐藏不完全类。

  4. 在类的顶部,为 ReportDocument 类添加一个新的类级别声明,变量名称为 hierarchicalGroupingReport。将其访问修饰符设置为 private。

<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images/8yfdxzdx.alert_note(zh-cn,VS.90).gif" alt="Note" class="note" />注意</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>ReportDocument 类是 CrystalDecisions.CrystalReports.Engine 命名空间的成员。已在<a href="ms227453(v=vs.90).md">“项目设置”</a>中为此命名空间添加了 &quot;Imports&quot; [Visual Basic] 或 &quot;using&quot; [C#] 声明。</p></td>
</tr>
</tbody>
</table>

``` vb
Private hierarchicalGroupingReport As ReportDocument
```

``` csharp
private ReportDocument hierarchicalGroupingReport;
```
  1. 在 ConfigureCrystalReports() 方法(在“项目设置”的某一过程中添加)中,实例化 ReportDocument 类。
``` vb
hierarchicalGroupingReport = New ReportDocument()
```

``` csharp
hierarchicalGroupingReport = new ReportDocument();
```
  1. 在下一行中,调用 ReportDocument 实例的 Load() 方法,然后粘贴之前复制的文件目录路径。
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images/8yfdxzdx.alert_note(zh-cn,VS.90).gif" alt="Note" class="note" />注意</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>将下面的文件路径替换为本地计算机上示例报表的路径。有关示例报表位置的更多信息,请参阅<a href="ms225622(v=vs.90).md">“示例报表目录”</a>。</p></td>
</tr>
</tbody>
</table>

``` vb
hierarchicalGroupingReport.Load("C:\reports\Hierarchical Grouping.rpt")
```

``` csharp
hierarchicalGroupingReport.Load(@"C:\reports\Hierarchical Grouping.rpt");
```
  1. 在报表加载部分的下一行中,将 CrystalReportViewer 的 ReportSource 属性绑定到 ReportDocument 实例。

    myCrystalReportViewer.ReportSource = hierarchicalGroupingReport
    
    crystalReportViewer.ReportSource = hierarchicalGroupingReport;