### Supcan Report组件

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

1.创建实例

Supcan Report 组件是通过插件/加载项创建的，可以直接调用 dynaload.js 中的函数创建:

    insertReport('AF', 'Border=single,3D;  Ruler=Horz;  Rebar=Print,Property,Font;  print=11, 216')

其中第二个参数即 “创建参数”，决定了如何在页面上展现 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
isAnimateFocus | 焦点切换时是否采用 Office 2013 的那种动画效果 | true / false | false
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
LeftRulerWidthPercent | 左标尺的宽度比例 | 0 - 500之间的数字, 含义是百分比 | 100
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的功能的, 如果您使用了 "23", 仅仅会触发 Toolbar 事件而已 | 541, 585
PagesTabPercent | 底部滑动条的左侧Tab区长度比例 | 百分比，0至100 | 30
TabScrollBar | 底部整个滑动条(含左侧Tab)显示与否 | show - 始终显示; none - 设置不显示 moresheet - 多于1个工作表时才显示; outofsize - 宽度超出时才显示 moresheet,outofsize - 合并上述二者(“或”的关系) | show
DragPitchAble | 是否支持整体滚动功能 (鼠标快速拖扔) | true/false | true
PreviewWindow | 打印预览窗口的位置 | topMost - 全屏、且位于最前方, 且不可切换; top - 全屏、且位于最前方; inner - 位于报表窗口内; innerWithCaption - 同上, 窗口顶部含标题 | topMost
PreviewButton | 打印预览窗口左侧的4个按钮 | 是否需要显示 print,setup,export,sheets 这4个按钮, 不写表示不需要, 逗号分隔 | print,setup,export,sheets
PreviewButtonEnable | 打印预览窗口左侧的4个按钮的状态 | 上述4个按钮的状态是否是 Enable, 不写表示 Disable | print,setup,export,sheets
FullScreen | 最大化窗口的开启模式 | topMost - 始终位于所有窗口的最前端; Normal - 普通窗口，允许前后切换 | topMost
DSCenterDialogHeader | 中心数据源对话框的顶部布局 | url - 显示中心数据源URL下拉框 search - 显示搜索选项 none - 无顶部内容 auto - 自动，如果WorkMode为设计时，则自动选为 url; 运行时设为 none | auto
UndoAble | 是否支持 Undo | true/false, 在某些情况下, 禁用 Undo 能显著提高性能，比如需要创建很多工作表时 | true
RedoAble | 是否支持 Redo | true/false, 如果为 True, Undo(撤销)图标将呈现下拉，下拉中有 Undo、Redo功能. 注：启用 Redo 将降低交互操作的性能. | false
isCalcTraceEnabled | 是否开启计算的单步跟踪 | true/false, 如果为 True, 则在计算过程中会保留计算的中间结果, 在鼠标右键中可查看. 注：1.启用该功能会轻微降低计算性能; 2.这些中间结果是不会保存到报表XML的. | false
CalcProgressDelay | 计算时自动弹出进度条的延时 | 数字，单位为秒, 0表示不弹出进度条，默认是2，表示计算开始的2秒内仍未完成计算，则自动出现函数计算进度条 | 2
CalcProgressText | 计算进度条是否显示文字 | true/false，在表示计算进度条中，是否显示诸如 "共30个函数，已处理21个..." 的文字 | true
DataStruMaxColWidth | 单元格数据分析的最大列宽 | 像素数，用于限定弹出的数据分析窗内报表的最大列宽 |

WorkMode

工作方式

有 5 种工作模式: DesignTime, RunTime, UploadDesignTime, UploadRunTime, InputDSRunTime. 下面是这 5 种模式的解释.
DesignTime - 设计时;
RunTime - 运行时;
二者差别有:
1."运行时"的界面略有简化、提示略少些专业性;
2."设计时"工具条属性中的这个选项是不生效的：
3.如果单元格是表达式(等号"="开头), "设计时"默认修改公式，而"运行时"默认修改计算结果：
4."设计时"数据源的高级功能更多;
5."设计时"的工具条“打开”按钮有20个历史文件的弹出菜单;
6."运行时"文本框单击即进入编辑("设计时"需要双击);
7."设计时"插入的树列表是虚拟的，不可输入：
如下2种模式用于报表的上报汇总：
UploadDesignTime - 上报报表的设计时;
UploadRunTime - 上报报表的填报时;
此外，如下模式用于报表的仅数据源部分修改的上报，通常用于 GetChangedXML 函数：
InputDSRunTime - 数据源填入内容的修改运行时;

DesignTime

isHiLightProtect | 是否在被保护的单元格的左侧显示红色醒目标记 | true / false | true
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的功能号就是自定义功能号).