1,API不支持个人书签的操作。有关报告书签,请参阅报告书签。
2,BookMarks中只有owner可以操作当前报表,不满足于需求,所以另辟蹊径,从页面所有filter下手
监听报表以及设置渲染的函数
report.on('rendered', () => {
...
})
此函数当报表每次变化时都会进行调用,所以,所有关于获取filter的操作将在次函数中操作。
report.on('loaded', () => {
...
})
此函数当报表加载时会进行调用,所以,设置状态写入当前函数中
报表筛选器类别
1, Report级别的筛选器
场景:打开集成的报表后,报表右侧会有一个筛选器,点击展示出来就会看到
模块一:此页面上的筛选器
模块二:所有页面上的筛选器
// 获取所有页面上的筛选器
report.getFilters().then(filters => {
console.log(filters)
})
// 设置所有页面上的筛选器 bookMarkFilter = filters
const bookMarkFilter = [{
$schema: 'xxxxxxxx',
filterType: 1,
operator: 'In',
requireSingleSelection: false,
target: {
table: 'XXX', column: 'XXX'},
values: ['XXX'],
}]
report.setFilters(bookMarkFilter)
2, Page级别的筛选器
/*
*1,首先获取到当前页面
*2,然后获取当前页面的筛选器
*/
// 获取所有页面
report.getPages().then(pages =>