6.2.在業(yè)務(wù)頁(yè)面中使用報(bào)表

2023-07-03 17:51 更新
前面,我們了解了如何將一個(gè)編譯好的報(bào)表文件上傳到BDF2系統(tǒng)當(dāng)中,介紹如何配置報(bào)表運(yùn)行時(shí)所需要的參數(shù)及相關(guān)資源文件,同時(shí)演示了如何對(duì)上傳上來(lái)的報(bào)表進(jìn)行預(yù)覽操作等,這里我們來(lái)看看如何在我們的業(yè)務(wù)頁(yè)面當(dāng)中使用一個(gè)已經(jīng)編譯好的或一個(gè)已上傳到BDF2系統(tǒng)當(dāng)中的報(bào)表。

在BDF2-JASPERREPORTS模塊當(dāng)中,為了方便大家將報(bào)表應(yīng)用到我們的業(yè)務(wù)界面當(dāng)中,我們提供了一個(gè)名為JasperreportsExporter標(biāo)準(zhǔn)的Dorado7組件,它可以實(shí)現(xiàn)將定義的報(bào)表(已經(jīng)編譯好的或一個(gè)已上傳到BDF2系統(tǒng)當(dāng)中的報(bào)表)導(dǎo)出成我們需要的各種格式。要在view當(dāng)中看到這個(gè)組件,當(dāng)然就是更新規(guī)則,采用在線方式更新規(guī)則,更新完成之后,打開(kāi)一個(gè)view文件,可以在右側(cè)工具欄中看到如下圖所示的JasperreportsExporter組件圖標(biāo):

JasperreportsExporter組件可以設(shè)置的屬性如下表所示:
屬性名
類型
默認(rèn)值
描述
fileSource
String
uploadedFile
要使用的報(bào)表來(lái)源,可選值有兩個(gè),分別是uploadedFile和file。uploadedFile表示文件來(lái)自于我們通過(guò)報(bào)表定義與配置中定義的報(bào)表;file則表示一個(gè)位于服務(wù)端某目錄下的一個(gè)jasper文件。
reportFile
String
要使用的報(bào)表文件,這個(gè)屬性的值為fileSource屬性決定。當(dāng)fileSource屬性值為uploadedFile時(shí),這個(gè)屬性值必須是一個(gè)通過(guò)
報(bào)表定義與配置中定義的報(bào)表的ID,而不能是其它;如是fileSource屬性值為file時(shí),這里定義的是一個(gè)位于服務(wù)端某目錄下的一個(gè)jasper文件地址,比如D:\report\testReport.jasper
dataSourceType
String
有三個(gè)值可選,分別是:Jdbc、Map和JavaBean,這個(gè)屬性的作用是定義當(dāng)前報(bào)表采用的數(shù)據(jù)源類型。當(dāng)fileSource屬性值為uploadedFile時(shí)將忽略這個(gè)屬性值。
dataSourceProvider
String
Jdbc
根據(jù)dataSourceType屬性的值,來(lái)決定采用哪個(gè)數(shù)據(jù)源,如果dataSourceType值為Jdbc,那么這個(gè)屬性需要選擇一個(gè)數(shù)據(jù)源名稱;如果dataSourceType值為Map或JavaBean這里需要定義一個(gè)實(shí)現(xiàn)了IReportDataProvider接口且配置到Spring當(dāng)中的bean的id。詳情見(jiàn)報(bào)表定義與配置中相關(guān)描述。當(dāng)fileSource屬性值為uploadedFile時(shí)將忽略這個(gè)屬性值。
parameter
dorado.util.Map
用于設(shè)置報(bào)表設(shè)計(jì)中需要使用的參數(shù)信息。某些情況下,我們的報(bào)表當(dāng)中用到的參數(shù)可能需要從當(dāng)前業(yè)務(wù)頁(yè)面當(dāng)中獲取,通過(guò)這個(gè)參數(shù)就可以實(shí)現(xiàn)該功能,在下面的測(cè)試JS代碼當(dāng)中,我們定義的報(bào)表需要外部傳入一個(gè)名為jobId的參數(shù)以決定報(bào)表需要展示的業(yè)務(wù)數(shù)據(jù)的數(shù)量,那么我們的代碼就可以通過(guò)下面的方式動(dòng)態(tài)填充一個(gè)jobId參數(shù):
報(bào)表組件通過(guò)JS填充參數(shù)示例
var
report=view.id("jasperreportsExporter1");
var p=new
dorado.util.Map();
p.put("jobId","bbb");
report.set("parameter",p);
report.execute(
)
當(dāng)然,除了像上述那樣進(jìn)行JS動(dòng)態(tài)配置外,還可以直接通過(guò)IDE為該組件的parameter參數(shù)賦值,具體方法與Dorado7其它組件的parameter賦值方法相同,賦值完成后,同樣可以實(shí)現(xiàn)上述JS功能。
在IDE中為組件定義參數(shù)時(shí)注意事項(xiàng)
當(dāng)采用報(bào)表組件來(lái)展現(xiàn)我們定義在報(bào)表管理界面當(dāng)中上傳的報(bào)表,且需要在IDE當(dāng)中重新定義對(duì)應(yīng)的報(bào)表所使用的參數(shù)時(shí),那么需要將該報(bào)表在報(bào)表管理界面當(dāng)中定義的對(duì)應(yīng)參數(shù)刪除(如果有定義的話),否則我們?cè)贗DE當(dāng)中定義的報(bào)表參數(shù)將不起作用。
報(bào)表定義完成之后,要將報(bào)表導(dǎo)出成我們需要的格式,還需要執(zhí)行JasperreportsExporter組件execute方法。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)