RS開發日期提示控件默認為昨天


需求:當一個Report的源數據很大的時候,報表顯示‘select *from A’ 這樣的數據時就會造成效率低下。其實很多時候用戶想看的也就是最近的數據,比如昨天。針對這個需求,可以對報表做下面的開發。用JS實現日期提示默認為昨天。

步驟1:添加一個提示頁面,在頁面上拖入相應的控件,如圖

先刪除提示頁面的所有內容(下面的提示控件以及日期標注,這個時候提示頁面只是一個過渡作用,作用是讓日期默認為昨天,沒有顯示的必要)

步驟2:最重要的就是JS1和JS2里面的內容了,還有開始日期begindate和enddate的名稱需要加一個1,但是參數名稱還是和報表頁面保持一致為

begindate和enddate,目的是為了理清對象。如圖所示

JS1處代碼為:

<div style="display:none">

JS2處代碼為:


<script>
function getyesterday()
{
var dtToday = new Date();
var dtYesterday = new Date( dtToday - 86400000 );
var strYesterday = [dtYesterday.getUTCFullYear(), dtYesterday.getMonth()+1, dtYesterday.getDate()].join("-");
return strYesterday;
}

function getyesterdaybeforeamonth()
{
var dtToday = new Date();
var dtYesterday = new Date( dtToday - 86400000 );
dtYesterday.setMonth(dtYesterday.getMonth()-1); 
var stryesterdaybeforeamonth= [dtYesterday.getUTCFullYear(), dtYesterday.getMonth()+1, dtYesterday.getDate()].join("-");
return stryesterdaybeforeamonth;
}

function init()
{
pickerControlbegindate1.setValue( getyesterday());--給開始日期賦值
pickerControlenddate1.setValue( getyesterday() );--給結束日期賦值
promptButtonFinish();--自動提交
}
</script>

<body onload="init()">
</body>

</div>

需要再次注意的是日期提示控件一定要在<div>里面,確保不再提示頁面顯示。賦值的那些可以根據具體需求定義。

運行Report:結果如下

在過濾器內把日期過濾設為必須,這樣報表運行結果展現出來的就是昨天的數據,現在是北京時間2012-10-17 16:29:48。

提高效率的同時+滿足用戶需求。

 

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM