Supcan Report组件


  Supcan Report组件是一个集自定义设计、编辑、查询、打印功能的通用报表组件,并作为一个组件供插件/加载项展示到浏览器页面。
  和Supcan Treelist组件相比,Supcan Report实现了格式不固定的表格处理的功能,并允许程序员、实施人员、最终客户参与对格式的修改,Supcan Report通常用于展现,实现类似自由报表的功能。
  Supcan Report组件依赖于Supcan Treelist组件。



  1.创建实例
  Supcan Report组件是通过插件/加载项创建的,所以应该用使用指南 \ 页面语法中叙述的插件/加载项的页面创建语法创建, <Object>中的某几个Param参数规则如下:
<Object ...(略)>
<Param name="CtlName" value="LuxForm">  //固定
<Param name="ZipUrl" value="BCV1.bin,LuxForm.bin">	  //也可以是绝对URL
<Param name="CtlPara" value="Border=single,3D;  Ruler=Horz;  Rebar=Print,Property,Font;  print=11, 216">	//例子
...
  如果页面是直接调用dynaload.js,那么可能就是这样:
insertReport('AF', 'Border=single,3D;  Ruler=Horz;  Rebar=Print,Property,Font;  print=11, 216')
  CtlPara参数决定了如何在页面上展现Supcan Report实例,在上面的例子中,参数串中可包含多个子串,子串间以 ";" 分隔。
  子串的 名-值对 的规范如下:
子串名含义可用值默认值
Border边界 1.none - 无边界
2.single - 单线条边界
3.3dLower(或3d) - 3D凹进边界
4.3dRaise - 3D凸起边界
single
BorderColor边界色颜色,仅用于Border=single#7f9db9
Hue强制更改色调 LightGray - 浅灰色
Caramel - 焦糖色
Lilian - 百合花色
Lividity - 青黑色
注:更改结果将保存至系统文件,永久有效.
(无)
FadeInStep淡入淡出效果打开报表时的淡入淡出效果
0 至 255,数值越小效果越明显, 0表示关闭此效果
5
UserRebar自定义工具条 URL(绝对或相对),指向一个包含自定义信息的Zip包
Rebar工具条 1.none - 无工具条
2.Main - 主工具条
3.Print - 打印功能的工具条
4.Form - 常用功能工具条
5.Font - 字体工具条
6.Property - 工具箱等功能的工具条
7.Text - 文字输入工具条
注:含空串表示在该处强制断行,请参见默认值
Main, Print, Form,,Font, Property,,Text
CollapseToolbar是否折叠工具条true/false - 折叠/不折叠.
备注: 下图为折叠控制按钮.
false
SeperateBar分隔条1.Vert - 垂直分隔条
2.Horz - 水平分隔条
注: 组件内置了2根分隔条,可以把窗口分为4份,分隔条通常隐藏在左侧、顶部,可用鼠标拖动
Vert, Horz
Ruler标尺1.Vert - 垂直标尺
2.Horz - 水平标尺
Vert, Horz
Main主工具条图标
这些图标的功能号分别为102, 103, 104, 1074, 105, 100, 189, 20, 32, 106, 107
102, 103, 104, 1074, 105, 100, 189, 0, 20, 32, 106, 107
Print打印工具条图标
这些图标的功能号分别为11, 216, 18
11, 216, 18
Form常用工具条图标
左侧6个图标的功能号分别为110, 162, 164, 163, 140, 717
110, 162, 164, 163, 140, 717
Property工具箱工具条图标
这些图标的功能号分别为301, 2, 112, 192, 144, 478, 382, 274
301, 2, 0, 112, 192, 144, 478, 382, 274
Text文字输入工具条图标
这3个图标的功能号分别为541, 23, 585.
注:"23"完全用于自定义功能,Supcan report是没有针对23的功能的.
541, 585
PagesTabPercent底部滑动条的左侧Tab区长度比例百分比,0至10030
TabScrollBar底部整个滑动条(含左侧Tab)显示与否show - 始终显示;
none - 设置不显示
moresheet - 多于1个工作表时才显示;
outofsize - 宽度超出时才显示
moresheet,outofsize - 合并上述二者(“或”的关系)
show
DSCenterDialogHeader中心数据源对话框的顶部布局url - 显示中心数据源URL下拉框
search - 显示搜索选项
none - 无顶部内容
url
WorkMode工作方式DesignTime - 设计时;
RunTime - 运行时;
 二者差别有:
 1."运行时"的界面略有简化、提示略少些专业性;
 2."设计时"插入的树列表是虚拟的,不可输入:
 3."设计时"工具条属性中的这个选项是不生效的:

 4."设计时"数据源的高级功能更多;
 5."设计时"的工具条“打开”按钮有20个历史文件的弹出菜单;
 6."运行时"文本框单击即进入编辑("设计时"需要双击);

如下2种模式用于报表的上报汇总:
UploadDesignTime - 上报报表的设计时;
UploadRunTime - 上报报表的填报时;
DesignTime
isHiLightProtect是否在被保护的单元格的左侧显示红色醒目标记true / falsetrue
isHiLightTabOrder填报时是否在 TabOrder 单元格左侧显示红色醒目标记true / false
注: 仅用于上报的填报时(workMode="UploadRunTime")
true
image.功能号强制设定某功能号的图标图标文件的URL, 例如:
image.102=../icons/jd.bmp; image.301=icons/bp.ico
(无)
tip.功能号强制设定某功能号的tip文字串, 例如:
tip.102=打开|Open; tip.301=工具盒|Tool box
(无)
EventLog事件日志文件名,建议后缀是txt, 不必带路径,系统将自动在 BC 目录下创建. 该文件能自动记录本组件实例的所有事件, 用于程序调试.
注:正式运行时请不要使用,因为频繁读写磁盘会导致性能下降.
FuncLog函数调用日志文件名,建议后缀是txt, 不必带路径,系统将自动在 BC 目录下创建. 该文件能自动记录本组件实例被调用的所有函数, 用于程序调试.
注:正式运行时请不要使用,因为频繁读写磁盘会导致性能下降.
FuncParaChars函数日志中参数最大字数数字,当启用函数日志时,函数的参数最多保留字数.128
FuncReturnChars函数日志中返回值最大字数数字,当启用函数日志时,函数的返回值最多保留字数.0
注1: 所谓“默认值”就是在没有设定值的情况下,Supcan Report自动采用的值.
注2: Main、Print... 这些工具条,除了允许含系统功能号以外,还允许含自定义功能号(大于3000的功能号就是自定义功能号).



  2.函数
  Supcan Report的函数是通过插件/加载项的 func( string funcname, string paras ) 函数间接调用的,在此列举了Supcan Report组件的可用funcname及用途说明。



  3.扩展函数和全局函数
3.1 扩展函数
  上述API中,涉及对单元格、行列的操作都是相对于当前工作表而言,如果要存取其它工作表,就必须要先切换工作表。
  为了方便存取其它工作表的内容,可以采用Report的扩展函数语法:首先通过GetHandle( )函数取得该工作表的句柄,然后在函数名前加句柄调用。下面是例子:
 var handle = AF.func("GetHandle", "3");  //取得第四个工作表的句柄
 var data = AF.func(handle + "GetCellData", "B5");  //取得该工作表B5单元格的内容

3.2 全局函数
  Report还拥有和Treelist、Freeform完全一样的全局函数,请参见全局函数介绍。