Page tree
Skip to end of metadata
Go to start of metadata

VB脚本表达式在整个报表定义中被广泛使用,以检索,计算,显示,分组,排序,过滤,参数化和格式化报表的内容。一些表达式将自动为您创建(例如,当您将一个字段从“工具箱”拖到报表的某个部分时,将在文本框中显示一个检索该字段值的表达式)。但是,在大多数情况下,您可以创建自己的表达式来为报表提供更多功能。

请注意以下VBScript表达式和语句之间的区别:

  • 表达式 返回values,您可以将它们分配给诸如Field.Text之类的东西,例如:
     Field1.Text.Expression = "iif( 1=1, 1+2, 1+3 )"
  • 语句 不返回values。您可以将它们分配给事件属性,比如OnFormat事件。例如:
    c1FlexReport.OnOpen = "if 1=1 then msgbox("OK!!!") else msgbox("ooops")"

C1FlexReport依靠VBScript处理计算字段中的表达式并处理报表事件。

VBScript是一种功能齐全的语言,编写C1FlexReport表达式时,您可以访问其所有方法和功能。有关VBScript语言的固有功能,请参考MSDN

可以在新的VBScript编辑器中编写Global Scripts。该编辑器允许用户定义整个报表中可访问的VBScript函数和子程序。要直接访问VBScript编辑器,按F7关闭编辑器并保存更改,使用快捷键  Ctrl + W键。用户可以在脚本之间切换,还可以在编辑器中更改选项,例如字体或颜色。同时编辑器具有高级功能(例如语法检查,预定义的VBScript函数和重新排列的脚本函数),使开发人员直观,轻松地编写脚本。

要使用“ VBScript编辑器”编写全局脚本,

  1. 转到C1FlexReportDesigner的设计选项卡。
  2. 单击VBScript编辑器并编写所需的全局脚本;例如,

    VB
            function Backcolor()
              Detail.Backcolor=rgb(255,0,0)
            end function

您还可以使用C1FlexReportDesigner的GlobalScripts属性编写全局脚本,如下所示:

  1. 选择要在其中编写全局脚本的报表。
  2. 转到报表的GlobalScripts属性,然后单击省略号。这将打开“ VBScript编辑器”对话框。
  3. 如上所述,在VBScript编辑器中编写全局脚本。
                                           
    

C1FlexReportDesigner中的VBScript编辑器
因此,您定义了一个全局函数'Backcolor()',该函数可在整个报表中使用。

VBScript编辑器具有以下附加功能:

  • IntelliSense:为VBScript编辑器支持的脚本提供自动代码完成提示。VBScript编辑器中的IntelliSense具有以下功能:
    • 显示上下文相关的可用单词列表的IntelliSense窗口还会在一个小的工具提示或帮助窗口中显示有关VBScript函数和关键字的详细帮助。详细帮助上的斜体字体基本上显示了当前项目所属的类别(例如“ VBScript函数”,“ C1FlexReport聚合脚本函数”,.NET对象属性等)。
    • 在编辑DataSource.Filter时,编辑器将打开为“ 表达式编辑器-DataSource.Filter”,并且IntelliSense会在相应的帮助下显示其中可用的关键字或函数。
    • 与IntelliSense条目关联的图标指示条目的类型。图标的调色板对于VBScript,报表内置内容和DataSource.Filter是不同的。
    • 当用户键入并打开Intellisense窗口时,列表将根据键入的字母进行过滤,例如,键入“ t”将仅显示包含字母“ t”的单词,键入“ te”会将列表缩小为包含“ te”,依此类推。
    • IntelliSense窗口中的Backspace撤消上一个过滤器。
    • 按下方括号' [ '将显示可用数据库字段的列表。
    • 按点' 对象名称(如报表,字段或节)后的'表示该对象可用的.NET属性
    • 在非字母字符后按Ctrl + J,Ctrl + Space或字母,将根据上下文显示可用的VBScript函数,关键字等的列表。
  • 拆分窗口:使您可以在单个VBScriptEditor中查看或编写两个相同或不同的脚本。默认情况下,VBScript编辑器将作为单个窗口打开。

    要切换到拆分窗口
    ,请单击拆分窗口字形并将其向下拖动以在顶部打开另一个编辑器,以切换到拆分窗口模式。可以通过拖动窗口之间的分隔线来调整窗口的大小。

    要切换回单个窗口,请
    单击窗口右上角的“ x”字形以关闭顶部窗口,关闭拆分模式,然后缩小底部窗口。功能区按钮的启用或禁用状态取决于当前窗口,该窗口显示为浅绿色标题栏。分割窗口模式具有以下附加功能:
    • F6在两个窗口之间切换。
    • 通过在顶部窗口上拖动足够高的拆分窗口标志符号或分隔线,可以在拆分窗口模式下隐藏顶部窗口。


请注意,仅当您先前在报表中定义了全局脚本时,才会启用VBScript编辑器中的“ 全局脚本”下拉菜单。

C1FlexReport通过公开其他对象,变量和函数扩展VBScript。这些扩展在以下各节中进行描述。

  • No labels