需求背景
在引數輸入介面(如圖示)
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...