场景示例:
1. 隐藏工具栏
宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | model_query | onRender |
宏代码
代码块 |
---|
function main(modelQuery: IModelQuery) {
var toolbar:IModelQueryToolbar = modelQuery.getModelQueryToolbar();
toolbar.hide();
} |
资源下载
2. 根据参数值,显示不同报表
在即席查询中切换一个参数,不同的参数值打开不同的报表。
切换【报表】参数,值为1的时候显示报表1,值为2的时候显示报表2, 值为3的时候显示报表3:
1)在3个报表使用到的数据模型中添加一个参数,设置好默认值:
2)在“分析展现”节点下分别创建即席查询报表1、报表2、报表3。
3)切换到 公共设置 > 宏资源包 节点下,新建一个宏资源包,类型 选择 即席查询,并且勾选【基于数据模型】,适用范围选择报表1、报表2和报表3。
4)双击此宏资源包进入报表宏界面。
5)在报表宏界面新建客户端模块,在弹出的新建模块对话框中选择对象为model_query;事件为onParamChanged;并把下面宏代码复制到代码区域。
宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | model_query | onParamChanged |
宏代码
代码块 |
---|
function main(modelQuery: IModelQuery, paramId: string) {
var param:IParam = modelQuery.getParamPanel().getParamById(paramId);
var reportId: string = modelQuery.getId();
if (param !== null) {
var currentValue = param.getValue();
if (typeof currentValue === 'string') {
switch (currentValue) {
case '1':
if (reportId !== 'f2e2d9c955fab606628b4aed0bcc86c5') {
modelQuery.openQuery('f2e2d9c955fab606628b4aed0bcc86c5');
}
break;
case '2':
if (reportId !== 'dca69a7d49d30cafd1d9fc580116ec63') {
modelQuery.openQuery('dca69a7d49d30cafd1d9fc580116ec63');
}
break;
case '3':
if (reportId !== '4b1258911070ba01a0437a38d8d9e4db') {
modelQuery.openQuery('4b1258911070ba01a0437a38d8d9e4db');
}
break;
}
}
}
} |
资源下载
3. 自定义报表样式
宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | model_query | onRender |
宏代码
代码块 |
---|
function main(modelQuery: IModelQuery) {
modelQuery.appendCss('.__BaseQueryBody', { background: '#1C1F22', color: '#D8D8D8' });
modelQuery.appendCss('.base-query-toolbar', { background: '#2C3135', color: '#D8D8D8' });
var toolbar = modelQuery.getModelQueryToolbar();
toolbar.appendCss('.left-content', { background: '#2C3135', color: '#D8D8D8' });
toolbar.appendCss('.right-content', { background: '#2C3135', color: '#D8D8D8' });
toolbar.appendCss('.autorefresh-detail.is-check', { color: '#D8D8D8' });
toolbar.appendCss('.__BaseQueryToolbar_btnRefresh:hover', { color: '#D8D8D8'})
var leftPanel = modelQuery.getLeftPanel();
leftPanel.appendCss('.el-input__inner', { background: '#2C3135', color: '#D8D8D8' })
leftPanel.appendCss('.sx-icon-more-dot', {color: '#D8D8D8'})
leftPanel.appendCss('.sx-left-pane-tree', { background: '#1C1F22', color: '#D8D8D8' })
leftPanel.appendCss('.el-collapse-item__wrap', { background: '#1C1F22', color: '#D8D8D8' })
leftPanel.appendCss('.el-collapse-item__header', { background: '#1C1F22', color: '#D8D8D8' })
leftPanel.appendCss('.el-tree-node__content:hover', {background: '#626262'});
var paramPanel = modelQuery.getParamPanel();
paramPanel.appendCss('.base-query-param_name', { background: '#2C3135', color: '#D8D8D8' })
paramPanel.appendCss('input', { background: '#2C3135', color: '#D8D8D8' } )
var filterPanel = modelQuery.getFilterPanel();
filterPanel.appendCss('input', { background: '#2C3135', color: '#D8D8D8' })
var listTable = modelQuery.getListTable();
listTable.appendCss('.el-table__row.el-table__row--striped td', { background: '#2C3135', color: '#D8D8D8' })
listTable.appendCss('.el-table__row td', {color: '#D8D8D8' })
} |