2010-04-12 66 views
2

我正在使用WebViewerExample作爲我的報告。在沒有javascript的BIRT上動態排序表格

我正在使用報表設計器在Eclipse內設計報表。

我有一個表有幾列。數據從數據庫中檢索。

是否有一種簡單的方法通過單擊列標題名稱動態排序表?

我試圖傳遞字符串作爲排序條件,但它沒有幫助。

任何想法?

回答

2

您是否嘗試過將ORDER BY添加到查詢中並對其進行十個參數化?您可能需要做一些真正輕量級腳本,以便在運行時按摩底層查詢。我們所談論的只是在查詢中的排序條件上進行字符串替換。

原始查詢:

SELECT Col1, Col2, Col3, Col4 
FROM Table1 
WHERE Something = Something 
ORDER Col1 ASC 

的beforeOpen事件對數據集:

this.queryText = this.queryText.replace("Col1", "Your new Sort Spec"); 

這將這樣的伎倆。祝你好運!

+0

僅當加載報告時,這不會對單擊標題上的數據進行排序。 – Rebzie 2012-10-18 04:34:12

+0

您只需刷新標題單擊上的控件,從而刷新查詢和基礎排序。這確實涉及到每種類型的DB的往返行程,但它完成了工作。當然,最好的方法是使用BIRT查看器,但這不是問題的一部分。 – MystikSpiral 2012-10-18 11:56:48

1

做排序或在報告濾波器參數could'nt是一個解決辦法

  • BIRT iServer的交互式網頁瀏覽器做排序
  • 我儘量少做,但chipest(只需打開)

所以更改查看器來完成這項工作而不是報告

​​ (將鼠標放在列標題上)

1

如果您有默認設置,則有一種更簡單的方法。

首先設置一個參數,作爲排序標準,就我而言,我稱之爲「排序」。 然後選擇表格,轉到排序選項卡,並使用以下表達式: row [params [「sort」] .value]。

這將按照您傳入的參數對錶格進行排序。您需要確保列名是正確的。