该宏示例在 V10.5上 验证通过
本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。
1. 示例效果
仪表盘根据列表(单选)类型的筛选器备选值进行轮播,可以通过菜单工具栏中的“开始轮播”、“暂停轮播”以及“停止轮播”按钮控制轮播。
该宏示例需注意的事项如下:
- 暂停轮播后点击开始轮播:继续当前值进行轮播;
- 停止轮播后点击开始轮播:从头开始轮播。
- 多选的筛选器,每次也只轮播一个参数值。
- 筛选器类型为“列表单选/多选”、“下拉单选/多选”时无需配置参数值;筛选器类型为日期与文本时,则需要在宏代码中配置轮播的参数值。
- 宏中可以修改轮播速度以及是否循环播放。
- 设置的轮播间隔时间不包含数据刷新时间。比如:假设轮播间隔时间设置为1s,数据切换刷新的时间1s,则实际间隔时间为2s。
- “开始轮播”、“暂停轮播”以及“停止轮播”的按钮图标可以自定义。
2. 操作步骤
- 步骤一:新建一个空白的仪表盘。选择数据模型或业务主题,拖入所需组件。
- 步骤二:拖拽字段生成如下示例图表,效果如下:
- 步骤三:添加一个列表(单选)类型的筛选器“年份”,并应用到所需组件上。
- 步骤四:重新绘制筛选器样式
① 选中筛选器组件“年份”,右键进入“宏管理”界面
② 新建宏,在弹出的新建模块对话框中输入名称,勾选对象为组件,组件为“年份”,事件为“onBeforeRender(组件渲染前)”
③ 该宏示例主要使用的是 IFilterPortlet 接口下的appendCss方法,把下面宏代码复制到代码区域:
④ 保存宏代码,刷新仪表盘,可看到筛选器样式已进行重绘。
- 步骤五:实现筛选器轮播以及在菜单工具栏中自定义轮播按钮
① 进入宏管理界面,新建宏,在弹出的新建模块对话框中输入名称,勾选对象为“仪表盘”,事件为“onRender(每次渲染完成后)”
② 宏示例“筛选器备选值轮播”主要使用的是
- IPage 接口下的 getPortletsByTitle 、getPageToolbar 方法
- IPageToolBar 接口下的 addButton 方法
- IFilterPortlet 接口下的 turnOffCarousel 、turnOnCarousel 、pauseCarousel 方法
把下面宏代码复制到代码区域:
- 步骤六:点击 保存。重新访问报表,清空浏览器缓存,可看到效果已实现