要解决保存过滤器且无数据的WebDataRocks的问题,可以使用以下方法:
reportcomplete事件的处理程序。该事件在报表加载完毕时触发。var pivot = new WebDataRocks({
...
reportcomplete: function() {
// 保存过滤器代码
pivot.getReport().save();
}
});
save()方法来保存过滤器。该方法会返回一个包含当前报表状态的JSON对象。var filterState = pivot.getReport().save();
load()方法将保存的过滤器状态加载到报表中。var report = pivot.getReport();
report.load(filterState);
完整的示例代码如下:
var pivot = new WebDataRocks({
container: "#pivotContainer",
toolbar: true,
reportcomplete: function() {
// 保存过滤器代码
var filterState = pivot.getReport().save();
console.log(filterState);
}
});
在上述示例中,reportcomplete事件处理程序在报表加载完毕后触发,并将过滤器的状态保存到filterState变量中。你可以将此状态保存到数据库或其他地方。
当需要加载保存的过滤器时,你可以使用load()方法将保存的过滤器状态加载到报表中。例如:
var savedFilterState = ...; // 从数据库或其他地方获取保存的过滤器状态
var report = pivot.getReport();
report.load(savedFilterState);
通过以上步骤,你可以实现保存过滤器且无数据的WebDataRocks报表。