UAP报表开发手册 联系客服

发布时间 : 星期六 文章UAP报表开发手册更新完毕开始阅读

报表所属的子产品号,这个参数是可选的。注意:当指定了此参数,接口会在随后的处理中按照subid[__]sReportID的规则拼接成真正的报表ID。 rawfilter:

可选过滤条件对象(UFGeneralFilter.FltSrv或自定义的过滤条件对象),此对象中必须是ISelfFilter(见第四个接口)的一个实现。这个参数通常报表的自定义行为(如联查)时,需要有过滤的情形时会使用到。

至于怎么在U8中设置自己的菜单节点,请参阅U8门户相关文档。

3.2 自定义数据源组件

报表的自定义数据源是指单独写一个组件来提供报表数据,这种数据源实现方法的优点强大的数据处理能力,这是其他类型的数据源所不具备的。实现方法为: 组件中必须实现以下接口:

public interface IGetSql {

void GetSql(IFilterArgs e); }

接口功能及使用说明:

此接口为报表提供自定义数据源。组件的提供方式为首先提供一个实现IGetSql的组件(COM组件只需有一个声明相同的GetSql函数的类即可),之后将其绑定到报表的数据源(具体方法是请参考本接口示例)。组件的工作方式为报表系统会在展现报表的过程中实例化一个此种类型的对象,通过调用GetSql函数来获取数据源。

参数介绍:

IFilterArgs参数是

UFIDA.U8.UAP.Services.ReportFilterService.tlb中的类型,在报表系统调用自定义数据源组件的时通过此参数将组件需要的环境信息传入,而自定义数据源组件则将其处理结果通过此参数返回给报表系统。

IFilterArgs中包含的常用接口: IFilterArgs.login: U8的Login对象

IFilterArgs.RawFilter:

过滤对象

IFilterArgs.DataSource.Type:

组件数据源返回类型,其值与对应类型为 0:SQL脚本 1:存储过程 2:临时表 其默认值为2

IFilterArgs.DataSource.Sql: SQL脚本或临时表名称

IFilterArgs.DataSource.StoreProcName: 存储过程名称 示例:

(1)以下提供一个名为CustomDataSample的vb6.0的dll,此组件中定义一个名为customData.cls类,其代码如下(IFilterArgs的):

Public Sub GetSql(e As IFilterArgs)

e.DataSource.sql = “select * from AA_Bank” e.DataSource.Type = 0 End Sub

构造好组件之后,需要将组件绑定到报表的数据源,绑定方法如下:

假设组件名称为:DataEngine.dll,而实现IGetSql的类型名称为:Engine

VB6.0组件的绑定方法:(注意:COM需要注册,不要求具体存放目录,一般推荐存放目录为:..U8SOFT\%ufcomsql\\)

图 2.12

C#组件的绑定方法:(注意:.NET组件不需要注册,但存放目录必须是:..U8SOFT\\UAP\\)

图 2.12

3.3 自定义行为组件

自定义行为是指在报表查询结束后,设计者提供额外的功能来进行相关处理,比如联查功能等。方法是实现以下接口:

public interface IExecute {

void Execute(IActionArgs e); }

接口功能及使用说明:

此接口用来完成报表自定义行为的业务操作。组件的提供方式与IGetSql接口类似,不同的是其绑定到报表系统的过程(示例将详细说明)。组件的工作方式为在自定义行为绑定到报表系统之后,报表展现界面的右键菜单中将相应的子菜单,触发此子菜单后报表系统将实例化此组件实现IExecute类型的一个对象,并调用此对象上的Execute方法。

参数介绍:

IActionArgs是在进行自定义行为的时候数据交互的媒介,IActionArgs中的常用参数: IActionArgs.ReportID: 当前操作的报表ID IActionArgs.Login: U8的Login对象

IActionArgs.RelateData:

当前报表的相关数据对象,通过此对象中的接口GetData可获得相关的数据

IActionArgs.CurrentColumnName:触发自定义行为时报表所处的焦点行名称

IActionArgs.FltArgs: IFilterArgs对象

自定义行为绑定到报表系统例子:(假设组件名为ExcuteSample,类型名为clsExc,定义方法参考IGetSql的示例)