使用 C1Report 控件 > 修改字段 |
你除了可以使用VBScript来执行已计算字段中的表达式外,还可以指定在报表渲染完成后触发特定的脚本,同时,你也能够使用脚本去修改报表的格式化方式。这些脚本都包含在事件属性(event properties)中。这里的事件属性与Visual Basic中的事件处理程序(event handler)很相似,唯一不同的是,这些脚本是在报表自身的运行域内被执行的,而不是在显示报表的应用程序域内被执行。例如,通过给事件属性赋值的方式,你可以根据字段的值来设定该字段的字体和前景色。这个行为会被报表保存下来,并成为其自身的一部分,而与渲染该报表的应用程序本身无关。
当然,传统的事件也是依旧可用的,在那些需要影响应用程序本身而不是报表的地方,你就应该使用传统的事件去实现。例如,你可以在你的应用程序中为开始页面(StartPage)事件写一个事件处理程序,用于更新页数,而并不用去关心何种报表在该页面中渲染。
下表罗列了事件属性中的可用于设定的属性以及他们的典型用法。
对象 | 属性 | 描述 |
---|---|---|
Report | OnOpen | 报表开始渲染时触发。可用于修改连接字符串(ConnectionString)或记录源(RecordSource )属性,或者初始化VBScript变量 |
OnClose | 报表渲染结束后触发。可用于执行相关清理任务。 | |
OnNoData | 当报表开始渲染,且数据源的记录集为空时触发。你可以在此时将Cancel属性设定为True来取消报表的生成。 你也可以显示一个对话框,来提醒用户报表为何没有被显示。 |
|
OnPage | 当一个新的页面开始时触发。可用于根据一些条件来设定部分字段的Visible属性。当一个新的页面开始时,控件维持着一个Page变量,每当新的页面开始时,它会自动递增。 | |
OnError | 当发生错误时触发。 | |
Section | OnFormat | 在字段被运算前触发。此时,源记录集中的字段反映了将要渲染的值,但报表中字段不能反映。 |
OnPrint | 在字段被输出前触发。此时,字段已经被运算,你可以执行条件格式化。 |