0
我期待創造一個動態的「手推車」字段。這應該計算任何給定日期的類型(如a,b,c)的手推車數量。但是,我不想創建一個僅由類型(A,B,C)計數的靜態列。然而,相反,我會需要一個動態計數,這將取決於'類型',因爲我們目前不知道哪些類型將被使用,因爲這將在每天的基礎上發生變化。如何動態統計具有特定值的記錄總數?
我期待在iReport的5.6創建此。
提出的結果
任何想法,將優秀的:)
我期待創造一個動態的「手推車」字段。這應該計算任何給定日期的類型(如a,b,c)的手推車數量。但是,我不想創建一個僅由類型(A,B,C)計數的靜態列。然而,相反,我會需要一個動態計數,這將取決於'類型',因爲我們目前不知道哪些類型將被使用,因爲這將在每天的基礎上發生變化。如何動態統計具有特定值的記錄總數?
我期待在iReport的5.6創建此。
提出的結果
任何想法,將優秀的:)
您可以使用HashMap來算你的領域,像這樣。
public Map<String, List<Class>> sortByKey(List<Class> values){
Map<String, List<Class>> map = new HashMap<>();
for(Class value : values){
if(map.containsKey(value.type)){
List<Class> valueByKey = map.get(value.type);
valueByKey.add(value);
}
else{
List<Class> newValues = new ArrayList<>();
newValues.add(value);
map.put(value.type, newValues);
}
}
return map;
}
上面的代碼按鍵排序您的數據,這是在您的示例「類型」字段。然後,您可以通過按特定鍵檢查列表的大小來獲取每種類型的數字。示例波紋管。
List<Class> tmp = map.get("a");
int count = tmp.size();
您可以使用[數據分組](http://jasperreports.sourceforge.net/sample.reference/jasper/index.html#groups)。 JR有變量(* $ V {groupName_COUNT} *)和組中的記錄數 –
在你的情況下,你可以添加*「Type」*列的組(例如* typeGroup * name)並使用* $ V {typeGroup_COUNT} *變量。不要忘記按*類型* –
添加排序另一種方法是在組中記錄的字段數。如果您使用基於* jdbc *的數據源,則可以在sql –