乙個多重引數報表的製作

2021-08-30 20:14:20 字數 1367 閱讀 2501

需求背景

在引數輸入介面(如圖示)

1、 選擇需要在最終統計表中顯示的字段;

2、 選擇需要彙總的城市;

3、 選擇彙總方式

分析

需求中動態顯示欄位的實現可以通過隱藏列的方式實現,如果顯示資料量比較大的時候可以考慮巨集的方式實現,在這裡採用隱藏列的方法。

由於彙總城市的選擇是單選的,因此採用報表提供的單選按鈕完成。

彙總方式可以通過引數控制行隱藏實現。

詳細步驟

製作引數報表

1、選擇字段

2、彙總城市

參考選擇欄位的方式,設定填報屬性

3、 彙總方式

下圖中兩個單元格型別設定為html

製作主表

接下來進行主表的主要部分設計

其中:① 處為設定該列的隱藏屬性,在隱藏列中輸入表示式:if(like(@cols,」*1*」),false,true)。請注意此處的寫法。由於cols引數傳遞過來的是類似」1,2,3,4「這樣的串,所以此處採用上述表示式控制。

另外,c、f、i列的表示式分別為:if(like(@cols,」*2*」),false,true)、if(like(@cols,」*3*」),false,true)、if(like(@cols,」*4*」),false,true)

② 處表示式為:if(@sumtype==」1″,」北京小計:「,@sumtype==」2″,」上海小計:「,」小計:「)

③ 處設定隱藏行,以區別不同的彙總方式。在隱藏行中設定表示式:if(@flag==」1″,true,false)

jsp檔案

下面是發布該報表的jsp中的部分關鍵**

request.setcharacterencoding( 「gbk」 );

string report = request.getparameter( 「raq」 );

string reportfilehome=context.getinitctx().getmaindir();

stringbuffer param=new stringbuffer();

string flag = request.getparameter(」flag」);

//保證報表名稱的完整性

int itmp = 0;

if( (itmp = report.lastindexof(」.raq」)) <= 0 )

總結

使用報表引數的傳遞,以及各種隱藏方式的運用,可以實現諸多需求的報表。當然,這些都是在不斷使用並熟悉報表工具的基礎上進行的。

多重引數報表的製作

需求背景 在引數輸入介面 如圖示 1 選擇需要在最終統計表中顯示的字段 2 選擇需要彙總的城市 3 選擇彙總方式 分析 需求中動態顯示欄位的實現可以通過隱藏列的方式實現,如果顯示資料量比較大的時候可以考慮巨集的方式實現,在這裡採用隱藏列的方法。由於彙總城市的選擇是單選的,因此採用報表提供的單選按鈕完...

初步完成乙個報表的流程

1 首先要了解報表的基本格式,以及需要什麼內容來填充報表 報表各列資訊 展示報表條件 檢索條件 2 針對報表的列資訊 鎖定該資訊 的 表 3 對上述鎖定的表 進行級連操作,組成乙個新的臨時表 級連操作時注意 使用哪個欄位來進行連線 注意 級連時的 條件 left join on where 4 從臨...

製作乙個vue外掛程式

myplugin.install function vue,options 2.新增全域性資源 vue.directive my directive 3.注入元件 vue.mixin 4.新增例項方法 vue.prototype.mymethod function methodoptions 用 b...