在本节中,您将创建一个从 Crystal Reports 附带的 Microsoft Access 示例数据库中提取信息的报表。
创建包含 xtreme 示例数据库中安全数据的报表
在“解决方案资源管理器”中,右击粗体显示的项目名,指向“添加”,然后单击“添加新项”。
在“添加新项”对话框的“模板”视图中,选择“Crystal Report”模板。
在“名称”字段中,输入名称“CustomersBySalesName.rpt”并单击“添加”。
如果尚未注册,系统会提示您先注册。若想了解如何注册,请参见 [“Crystal Reports 的产品密钥和注册号码”](ms225341\(v=vs.90\).md)。
在“Crystal Reports 库”对话框的“创建新 Crystal Report 文档”面板中,选择“使用报表向导”。
在“选择专家”面板中,选择“标准”后,单击“确定”。
在“标准报表创建向导”窗口的“可用数据源”面板中,展开“创建新连接”文件夹。
从打开的子文件夹中,展开“ODBC (RDO)”文件夹。
在“ODBC (RDO)”窗口中,按 “Xtreme 示例数据库的 ODBC DSN 条目”的说明,选择与 Crystal Reports 版本对应的正确 ODBC DSN 条目,然后单击“完成”。
ODBC (RDO) 文件夹将展开并显示 Xtreme 示例数据库。
展开“表”节点,双击“客户”表将其移动到“选定的表”面板,然后单击“下一步”。
展开“客户”表,然后在按住 Ctrl 的同时单击“客户名”和“去年销售额”。
单击“>”符号,将这些字段移至“要显示的字段”面板,然后单击“下一步”。
在“可用字段”面板中的“报表字段”下,双击“客户.客户名”以将该字段移动到“分组依据”面板,然后单击“完成”。
CustomersBySalesName 报表创建完毕,并加载到 Visual Studio 的主窗口中。
创建基于“去年销售额”的选择公式
接下来,将创建一个选择公式,根据“去年销售额”字段过滤数据。
打开 Web 或 Windows 窗体。
单击“视图”菜单中的“代码”,查看此 Web 或 Windows 窗体的代码隐藏类。
对于网站,在 ConfigureCrystalReports() 方法(已在“项目设置”中创建)中,创建 Not IsPostBack 条件块。
<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>Not IsPostBack 条件块封装应该仅在页面第一次加载时运行的代码。</p></td>
</tr>
</tbody>
</table>
``` vb
If Not IsPostBack Then
End If
```
``` csharp
if(!IsPostBack)
{
}
```
- 对于网站,在 Not IsPostBack 条件块中添加以下几行代码。对于 Windows 项目,将代码添加到 ConfigureCrystalReports() 方法,不需要 Not IsPostBack 条件块。
1. 输入公式,仅选择去年销售额大于 $11000.00 并且客户名以字母“A”开头的记录。
``` vb
Dim mySelectFormula As String = "{Customer.Last Year's Sales} >
11000.00 " _
& "AND Mid({Customer.Customer Name}, 1, 1) = ""A"" "
```
``` csharp
string selectFormula = "{Customer.Last Year's Sales} > 11000.00
"
+ "AND Mid({Customer.Customer Name}, 1, 1) = \"A\"";
```
2. 将选择公式字符串赋给 CrystalReportViewer 控件的 SelectionFormula 属性。
``` vb
myCrystalReportViewer.SelectionFormula = mySelectFormula
```
``` csharp
crystalReportViewer.SelectionFormula = selectFormula;
```