JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java Tools  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友   
reply to postflat modego to previous topicgo to next topic
己加入精華區
by koji at 2008-12-11 11:08
本主題所含的標籤
作者 [分享] iReport 的 Crosstab 不排序的 Custom Comparator Expression [精華]
dreamltf

wicket



發文: 649
積分: 5
於 2008-12-11 11:04 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
如題, 在使用 Crosstab 時, 遭遇到了強制排序的問題
Crosstab 中, 只允許使用 Ascending 及 Descending
現在並沒有 No Sorting 之類的選項可以選擇

我的解決步驟大致如下:

→ 1. 建立 Parameter

Name=OVERRIDE_Comparator
Type=java.util.Comparator

→ 2. 使用傳入的 Custom Comparator Parameter 自訂排序規則
( 打開 Crosstab Properties -> Row and Column groups -> 打開想自訂排序的 Group )

Custom Comparator Expression=$P{OVERRIDE_Comparator}

→ 3. 於 java source code 傳入打包參數 OVERRIDE_Comparator

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
parameterValues.put("OVERRIDE_Comparator", new Comparator() {
 
        private List list = new ArrayList();
 
        public int compare(Object o1, Object o2) {
          int o1_index = -1;
          int o2_index = -1;
          if ((o2_index = list.indexOf(o2)) == -1 && list.add(o2)) {
            o2_index = list.indexOf(o2);
          }
          if ((o1_index = list.indexOf(o1)) == -1 && list.add(o1)) {
            o1_index = list.indexOf(o1);
          }
 
          if (o1_index > o2_index) {
            return 1;
          } else if (o1_index < o2_index) {
            return -1;
          } else {
            return 0;
          }
        }
      });


→ 4. 完工, 輸出報表


dreamltf edited on 2009-05-27 22:50
reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
4730 [精華] [分享] iReport 的 Crosstab 不排序的 Custom Comparator Expression dreamltf 1143 2008-12-11 11:04
» JWorld@TW »  Java Tools

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8