olap 页面添加按钮实现数据刷新效果

 

需求描述


查看某个 olap 文件时,页面的数据默认是从缓存文件中读取的数据,此时如果修改了数据库数据,那么页面不能及时获取到新数据进行分析。
用户希望能够在 olap 页面添加一个“查询刷新”按钮,点击这个按钮之后,数据集会重新从数据库里读取数据写入缓存,同时刷新 olap 页面的报表数据,实现与数据库的数据同步,保证数据分析时,是实时正确的数据。

解决方法


在 olap.jsp 里添加如下方法:

$(document).ready(function(){ 

var test = $('<a style="color:#FF00FF;vertical-align:20px;text-decoration: none;" href="javascript:void(0);"><img style="vertical-align:-7px;margin:0 10px;" src="/demo/raqsoft/guide/img/guide/3.png">查询刷新</a>');

$('#dataSetBut').before(test);

test.click(function(){

for (var i=0;i<rqAnalyse.rpxs.length;i++){
    var reportName = rqAnalyse.rpxs[i].name;//获取报表名称
     var dsx = rpxu.getRpx(reportName).dataSet;//读取某个报表引用的数据集
     aly.queryDataSet("1", dsx,function(d){//刷新数据集缓存
     if(d.trim()=="ok") 
        aly.refreshReport(reportName);  //刷新报表
     });
  
   }
  });

效果演示


imagepng

然后删除数据库中的数据:

imagepng

最后点击页面的“查询刷新”按钮:

imagepng

可以看到数据实时显示过来了。