FineReport使用(一)參數查詢

有時我們並不需要對所有的數據進行顯示。只需要顯示查詢其它部分數據,就可使用FineReport提供的參數查詢。它能對數據進行過濾,將我們需要的數據根據查詢條件動態的顯示出來。實現這種效果有要有兩種方式:
在FineReport中,有兩種參數定義的方式:
[b]► 在SQL語句中直接寫入過濾條件,如:select * from i_ht_contract where ContractName='${contractName}'[/b]
//'${contractName}'定義一個變量,它要和一些控件進行綁定。讓用戶去選擇,點擊查詢後在將實際的值傳過來。構成一個完整的sql語句。ContractName數據庫中的屬性字段。
[b]► 在菜單欄報表|報表參數當中定義參數[/b]
報表參數處定義,需要在單元格里進行調用,只對當前格子以及當前格子的子格的數據起到過濾的作用。
在報表|報表參數當中新增一個參數,單元格綁定數據列之後,在過濾頁面,調用已定義的參數,對格子中的數據進行過濾。根據FineReport的數據模型,設置了過濾的當前格子以及當前格子的子格,會根據輸入的參數值進行過濾。

無論以上哪種模式,如果需要將參數值顯示在某個單元格中,可以通過“=$參數名”這樣的公式來得到,其中$參數名可作爲公式的元素進行任意的公式計算。
[color=red][b]小結:[/b][/color]
兩種參數的都要和控件進行綁定,控件的名字就是參數的名字。只不過在sql語句中設置的參數,它是對整個數據源進行篩選。而報表參數只是針對某個單元格或者某行數據進行過濾。它不會對數據源產生影響。只是對顯示的結果數據進行過濾。

都需要設計參數界面

報表添加了參數之後,需要有一個可視化的界面,能夠讓用戶輸入參數值。FineReport內置了一個默認的參數界面,用戶可在內置的界面中,調整參數的位置,並通過控件設置得到例如下拉框,複選框,日曆等不同的數據選擇方式。

參數設計是和模板設計類似的格子界面,左側列出了報表當中已定義的參數,可通過拖拽的方式顯示到參數界面中,再將默認的控件設置“文本”進行更改。

如果不需要使用FineReport的內置參數界面,則需要通過自定義頁面傳遞參數的方式完成外部數據與報表的交互。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章