2014-09-01 12 views
0

我已創建一個包含具有日曆的(開始日期和結束日期)7列的報告區域。現在我想實現日期範圍滑塊,從每一行中刪除這些日曆選擇。例如http://ghusse.github.io/jQRangeSlider/documentation.html#quickStart 另外我想將開始日期和結束日期存儲在一個項目中。 我如何實現它。 PLZ建議Oracle Application Express - APEX報告區域 - 如何對日期列使用日期範圍滑塊(開始日期 - 結束日期)

回答

0

如果我正確理解你,你想爲報告的每一行創建一個日期範圍滑塊。在這種情況下,我們必須爲每一行生成一個具有唯一ID的DIV。如果您的行中也有ID,則可以使用此ID作爲滑塊DIV ID的後綴。假設您現在在您的報告後面有以下查詢:

select event_id 
,  event_name 
,  start_date 
,  end_date 
from events 

您在日期列中以某種方式生成的日曆小部件。 好吧,現在首先隱藏start_date和end_date列,以便它們不再可見。稍後,也許你可以刪除它們。

然後選擇一個額外的列將包含新的滑塊:

select event_id 
,  event_name 
,  start_date 
,  end_date 
,  null as slider 
from events 

現在去報告屬性和編輯滑柱。轉到列格式化,這裏我們將添加將成爲我們的滑塊的DIV的HTML表達式。我們還添加了一段JavaScript,它將爲我們生成滑塊,並綁定更改事件。點擊[插入列值]鏈接以查找您的ID列。下面我舉的例子它上面會是這個樣子:

<div id="slider#EVENT_ID#"></div> 
<script> 
    $("#slider#EVENT_ID#").dateRangeSlider(); 
    $("#slider").bind("valuesChanging", function(e, data) { 
    HandleSliderChange(#EVENT_ID#, data); 
    }); 
</script> 

現在你必須從某個地方定義HandleSliderChange功能,讓您可以處理該事件。它將傳遞事件/行的ID,並且可以在數據參數中找到新的日期。用它來設置你的頁面項目或者以你想要的任何方式處理它。

當然可能還有其他一些你想做的事情,比如設置滑塊的初始日期,但是這應該給出一個可能的路徑的好印象。

相關問題