65.9K
CodeProject 正在变化。 阅读更多。
Home

具有类型化数据集的 Crystal Reports 和动态列数

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.75/5 (4投票s)

2010 年 8 月 4 日

CPOL

2分钟阅读

viewsIcon

70627

使用 SQL Server 2005 的类型化数据集创建具有动态列数的 Crystal 报表。

引言

在开发一个交易应用程序时,我被要求创建一个 Crystal 报告,该报告具有动态列数。有一些工厂拥有从 1 到 6 个分销中心。我需要开发一个报告,该报告将具有动态列,以便我们可以显示动态列中的数量,并在最后一列中显示剩余数量。

背景

在网上关于 Crystal 报告的动态列信息非常少。因此,我决定写一篇文章,以便用户可以轻松地开发具有列数的 Crystal 报告。

在本文中,我将展示如何创建动态 Crystal 报告,我们在此文章中使用的内容是类型化数据集、Crystal 报告和 SQL Server 存储过程,该存储过程返回动态列数,我们将其显示在我们的 Crystal 报告中。

首先,我们创建一个类型化数据集,如下所示

TDataSet.png

在这里,我们创建一些名为 col1col2col3 的列,这些列帮助我们创建动态报告生成。我们的存储过程返回具有标题 col1col2 的动态列数,并将该数据绑定到此类型化数据集。如果任何工厂的存储过程有任何列数,它将以类型化数据集中的形式返回列。

我们还有一个只返回动态列名称的存储过程。我们使用此存储过程来设置报告中的参数,用作列的标题。

Report.png

这些标题有一些格式,如果参数中没有值,我们就不对其进行格式化,并且不显示任何内容,如果获得任何值,我们会更改该参数字段的背景颜色。

if {?col1} <>'' then Color (192,192,192)

在详细信息部分,我们可以放置类型化数据集的字段。

当我们运行此报告时,它看起来像

GenReport.png

历史

  • 2010 年 8 月 4 日:本文的首次修订
© . All rights reserved.