ComponentOne Reports for WinForms帮助文档
创建一个报表定义
全部展开全部展开
全部折叠全部折叠

以下主题将为您展示如何使用C1ReportDesigner应用程序或代码创建一个报表定义。注意创建报表定义与呈现报表不同。当呈现报表时,你只需加载一个已有的定义并调用Render方法。
使用C1ReportDesigner创建一个报表定义
创建报表定义最简单的方法就是使用C1ReportDesigner应用程序,它是一个独立的应用程序,类似于Microsoft Access中的报表设计器。C1Report Wizard会从开始步骤到结束步骤引导你创建一个新的报表。
关于创建新报表步骤的更多信息,请查看“创建一个基本报表定义”。

关于创建新报表步骤的更多信息,请查看“创建一个基本报表定义.”。

 

使用代码创建一个报表定义


你还可以从头开始使用代码创建报表。此方案需要一些额外的工作量,但它非常灵活。你甚至可以编写自己的报表设计器或专门报表生成器。


以下示例使用代码创建了一个基于NorthWind数据库的简单列表报表定义。代码添加了注释,说明了C1Report对象模型的最重要的元素。完成下列步骤:

  1. 首先,在表单中添加一个button控件、C1Report 组件和C1PrintPreview控件。设置以下属性:
    Button.Name = btnEmployees
    C1Report.Name = c1r
    C1PrintPreview.Name = ppv
  2. 初始化控件,起名为c1r,使用Clear方法清除它的内容,并设置控件字体(指定新字段的字体):

Visual Basic

C#

  1. 接下来,设置DataSource 对象,从NorthWind数据库检索你想要的数据。使用ConnectionString 和RecordSource属性完成(类似 Microsoft ADO DataControl):

Visual Basic

C#

  1. 接下来,初始化Layout对象,它定义了报表在页面上的布局方式。在此示例中,纵向呈现报表,将宽度设为6.5英寸(8.5英尺的页宽减去两侧一英尺的边距):

    Visual Basic

    C#

  2. 现在是非常有趣的一部分。每个报表均有五个基本部分:细节、报表标题、报表页脚、页眉和页脚。使用以下代码通过设置若干属性和添加一个标题字段,来设置报表标题:

    Visual Basic

    C#

    section对象有一个字段集合。集合的Add方法创建了一个新的字段,并将它赋给Section。参数指定了新字段的名称、文本、左、顶、宽度和高度属性。默认情况下,字段和控件的字体相同。注意字段应该足够高以便适应字体大小,否则字段里将不会显示任何东西。

  3. 8. 然后,设置页脚Section。这个section更加有趣,因为它包括计算字段。计算字段在它们的Text属性里包含了VBScript表达式,在呈现报表时进行评估。若想将一个字段设置为可计算的,将其Calculated属性设为True 即可。使用以下代码创建一个页脚:

    Visual Basic

    C#

    页脚section使用含有变量的表达式,不一定是固有的VBScript,但需由C1Report定义。Page和Pages是包含当前页码和总页数的变量。section还使用了一个配置字段,使其看起来像一条线。使用属性B+orderStyle和LineSlant即可完成。

  4. 接下来,设置页眉Section。这个section会在每页顶端显示,并显示字段标签。在表格报表中,使用一个页眉section显示字段标签是一种常见的技术。代码简单,但由于所有的实地测量,它看起来有些乱。在实际的应用程序中,这些值不会硬编码到程序中。添加以下代码来创建一个包含字段标签的页眉:

    Visual Basic

    C#

    这段代码演示了处理字体的一个强大技术。由于每个字段在创建时继承了控件的字体,在创建字段前将控件的Font.Bold属性设置为True,然后将其设回False。因此,页眉部分的所有控件均为粗体。

  5. 为了完成这份报表,需要添加细节Section。这部分显示了实际的数据。在页眉部分每一个标签下有一个计算字段。添加以下代码创建细节section:

    Visual Basic

    C#

    注意所有字段已计算,它们的Text属性对应记录集源中字段的名称。设置Calculated属性为True,确保Text属性被解释为一个数据库的名称,而不是直接显示。报表字段采用一个命名规范十分重要,这使得它们唯一,且不同于其他记录集的字段名称。如果你有两个名为"LastName"的字段,表达式如"Left(LastName,1)" 的含义将变得模糊。此示例采用了统一的命名规范,在所有报表字段名称前加上了"Fld"。


还要注意 "FldNotes" 字段需将CanGrow属性设为True,且字体大小比其他的小。这确保了数据库中包含大量文本的“Notes”字段会显示在报表中。字段不会变得很高以免浪
费空间。将CanGrow属性设为True告诉了控件按内容的需要扩展字段,它同时将包含部分的CanGrow属性设为True,这样字段将不会使此部分变大。

  1. 报表定义已经完成。为了在C1PrintPreview控件中显示报表,双击Employees按钮为btnEmployees_Click事件添加一个事件处理程序。代码编辑器将会打开,插入点处在事件处理程序的位置。输入以下代码:

    Visual Basic

    C#

    下面为基本报表的外观:

 

 


产品网站:http://www.gcpowertools.com.cn  |  咨询热线:4006576008   |   ©2015 西安葡萄城