对象集合是 Crystal 报表的通用数据源。通过使用对象集合,您可以编写自定义类,以编程方式或动态方式将数据填充到对象。由于对象集合允许编写自己的数据访问对象,因此可以使用对象集合来扩充随 Crystal Reports for Visual Studio 默认安装提供的数据源。
现在,您已经创建了一个功能完整的网站,它显示基于对象集合的 Crystal 报表。该网站显示以编程方式输入对象集合中的信息,以及在运行时动态添加的信息。
在本节中,将添加两个图表、一个计算字段以及汇总信息。
将一个简单图表添加到报表中
从解决方案资源管理器中,打开 StockObjects.rpt。
从“Crystal Reports”菜单选择“插入”,并单击“图表”。
在“图表专家”对话框中,选择“饼图”。
从“报表字段”中选择“数据”选项卡。
选择“Stock.Symbol”并单击最上面的右箭头将“Stock.Symbol”字段移到“更改为”字段。
选择“Stock.Volume”并单击最下面的右箭头,将“Stock.Volume”字段移到“显示值”字段。
单击“确定”。
将创建一个新的“报表头”节,并在此节中添加一个图表对象。
从“调试”菜单中,单击“开始调试”。
如果没有生成错误, Default.aspx 页面被加载到浏览器中。
添加基于公式字段的图表
在本节中,将创建一个图表,它使用集合信息来制作报表。首先创建一个公式来计算持有的特定股票的价值,然后创建一个饼图以显示持有的所有股票所占的价值比例。
从“Crystal Reports”菜单中,选择“报表”,然后单击“公式工作室”。
在“公式工作室”对话框中,选择“公式字段”。
单击“新建”按钮以创建新的公式。
在“自定义函数名称”对话框中,输入“worth”。
单击“使用编辑器”。
添加代码,用“volume”字段的值乘以“price”字段的值。
{Stock.Volume}*{Stock.Price}单击“保存并关闭”。
从“Crystal Reports”菜单选择“插入”,并单击“图表”。
在“图表专家”对话框中,选择“饼图”。
单击“数据”选项卡。
选择“Stock.Symbol”并单击最上面的右箭头将“Stock.Symbol”字段移到“更改为”字段。
选择“Worth”并单击最下面的右箭头,将“Worth”公式移到“显示值”字段。
单击“文本”选项卡。
在“标题”旁边,清除“自动添加文字”复选框。
在“标题”字段中,输入“Worth / Symbol”。
单击“确定”。
将创建一个新的“报表头”节,并在此节中添加一个图表对象。
<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>要在 Crystal 报表中重新放置对象,请使用鼠标拖动它们并放在所需的位置。可以使用窗体底部的“主报表预览”按钮来显示报表预览。</p></td>
</tr>
</tbody>
</table>
将公式和汇总字段添加到报表中
在本节中,将在报表中添加公式字段和汇总字段,用于计算各种股票的总价值。
展开“字段资源管理器”的“公式字段”节点。
将“worth”公式拖动到报表中。将此字段放在报表的“详细资料”节中。
<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>显示“字段资源管理器”的另一种方法是转到“Crystal Reports”菜单,然后单击“字段资源管理器”。</p></td>
</tr>
</tbody>
</table>
该字段将显示每行的价值。可以使用汇总字段来显示各种股票的总价值。
从“Crystal Reports”菜单中,选择“插入”,然后单击“汇总”。
在“插入汇总”对话框中:
1. 从“选择要汇总的字段”字段中,选择“Worth”公式。
2. 从“计算此汇总”字段中,选择“求和”。
3. 从“汇总位置”字段中,选择“总计”。
- 单击“确定”。
将在报表中添加一个汇总字段。
从“调试”菜单中,单击“开始调试”。
如果没有生成错误, Default.aspx 页面被加载到浏览器中。