LE のバックアップ(No.3)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- LE へ行く。
- 1 (2016-12-10 (土) 22:30:03)
- 2 (2016-12-11 (日) 15:29:23)
- 3 (2016-12-11 (日) 18:29:40)
- 4 (2016-12-11 (日) 23:16:06)
パターン3追加色テスト用1
sortabletable
果物 | 価格 |
|林檎|25| |オレンジ|5| |梨|20| |マンゴー|500| }}
script type="text/javascript">
!--
new OrderByColumn("tableID",["type_of_column", ... ]);/script>
#table_edit(ほげふが)
[果物][林檎] : [価格][25]
#table_edit(表ページの名前 [, ソート文字列])
#sortabletable(Number|String|String,1){{{
#table_edit(ほげふが)
#table_edit(ほげふが, 2)
#table_edit(ほげふが, 2n)
#table_edit(ほげふが, 2nr)
|CENTER:年度||CENTER: 男 |CENTER: 女 ||CENTER:TOTAL|
|幅255pix|幅64pix|
|||||||
|CENTER:2001||RIGHT:20|RIGHT:30||RIGHT:50|
|CENTER:2002||RIGHT:30|RIGHT:40||RIGHT:70|
|||||||
|CENTER:TOTAL||RIGHT:50|RIGHT:70||RIGHT:120|
|LEFT:255|RIGHT:64|c
|幅255pix|幅64pix|
|>|>|CENTER:40|c
|1|>|2|>|3|
|4|5|7|
|~|8|~|
class SortableTableModel extends DefaultTableModel {
public SortableTableModel(String[] str, int row) { super(str, row); } public void sortByColumn(int column, boolean isAscent) { Collections.sort(getDataVector(), new ColumnComparator(column, isAscent)); fireTableDataChanged(); }
}
class ColumnComparator implements Comparator {
final protected int index; final protected boolean ascending; public ColumnComparator(int index, boolean ascending) { this.index = index; this.ascending = ascending; } public int compare(Object one, Object two) { if (one instanceof Vector && two instanceof Vector) { Object oOne = ((Vector) one).elementAt(index); Object oTwo = ((Vector) two).elementAt(index); if (oOne == null && oTwo == null) { return 0; } else if (oOne == null) { return ascending ? -1 : 1; } else if (oTwo == null) { return ascending ? 1 : -1; } else if (oOne instanceof Comparable && oTwo instanceof Comparable) { Comparable cOne = (Comparable) oOne; Comparable cTwo = (Comparable) oTwo; return ascending ? cOne.compareTo(cTwo) : cTwo.compareTo(cOne); } } return 1; } public int compare(Number o1, Number o2) { double n1 = o1.doubleValue(); double n2 = o2.doubleValue(); if (n1 < n2) { return -1; } else if (n1 > n2) { return 1; } else { return 0; } }
}