私はGwtセルテーブルを持っています。ヘッダーをクリックすると、列が正しくソートされます。 しかし、ページの読み込みでは、列はデフォルトでソートされません。 ページが読み込まれたときに最も右の列をソートするようにしたい。Gwt celltableは列のソートを呼び出す
答えて
は、次のような、getColumnSortList()を使用して、ソートする列をプッシュすることができます:
dataGrid.getColumnSortList().push(columnToSortBy);
テーブルが昇順で指定された列でソートされます。
このメソッドを2回呼び出すと、指定された列が既にリストにプッシュされているかどうかを確認するトリガーとなります。降順でソートされた表を取得するには、降順でソートされます。シーンの背後
dataGrid.getColumnSortList().push(columnToSortBy);
dataGrid.getColumnSortList().push(columnToSortBy);
、カラムを同じリスト0の位置にColumnSortListと呼ばれるテーブル内の内部リストは、各列ヘッダーのクリックで更新さにプッシュされます。
列を初期化した後にこのメソッドを呼び出すようにしてください。
すでにソートされているデータを取得することをお勧めします。その場合は、あなたはそれからのみ、正しいアイコンの並べ替え(昇順または降順)を設定する必要があります。
/**
* Displays the appropriate sorted icon in the header of the column for the given index.
*
* @param columnIndex
* of the column to mark as sorted
* @param ascending
* <code>true</code> for ascending icon, <code>false</code> for descending icon
*/
public void setSortedColumn(int columnIndex, boolean ascending) {
Column<T, ?> column = table.getColumn(columnIndex);
if (column != null && column.isSortable()) {
ColumnSortInfo info = table.getColumnSortList().push(column);
if (info.isAscending() != ascending) {
table.getColumnSortList().push(column);
}
}
}
データがリストにあなたがそれを行うのと同じ方法で並べ替えることができます取得する前にソートすることができない場合ユーザーは、表示する前にヘッダー(onColumnSort(ColumnSortEvent event)
にComparator
)をクリックします。
あなたのコードは非常に役に立ちました。ありがとうございました。 – slugmandrew
これは、Jeff Allenのソリューションを使用しているときに、デフォルトソートが昇順と降順の間で繰り返されないようにするのに便利でした。 –
cellTable
のソートリスト(getColumnSortList()
関数によってアクセスされる)は、テーブルのヘッダーの状態がどのように決定されるかを決定しますが、は実際にデータを並べ替えません。
@ z00bsで提案されているように、可能であれば、データを外部でソートするのが賢明かもしれません。データが事前ソートされることがわかっている場合は、getColumnSortList().clear()
およびgetColumnSortList().push()
関数を使用して、データのソート方法をユーザーに伝える必要があります。
しかし、CellTableでデータを実際に並べ替える場合は、イベントをトリガーして、CellTableがクライアント側で構成データを実際にソートするようにする必要があります。これを行うには、次のような、状態ColumnSortEvent.fire()
方法を使用することができます。
ColumnSortEvent.fire(myTable, myTable.getColumnSortList());
これは、ヘッダの現在の状態に基づいてデータのソート処理を行うイベントがトリガされます。したがって、最初にヘッダーの目的の初期ソート状態を設定してから、この行を実行して、ヘッダーに表示されている現在のソート状態をデータ順序に反映させることができます。
- 1. GWT CellTableソート
- 2. GWT CellTable - 列幅を設定
- 3. GWT(CellTable):私は
- 4. GWT-celltable
- 5. GWT CellTable/DataGrid - 列の選択を検出する方法は?
- 6. GWT CellTableのキーボードナビゲーション
- 7. GWT CellTableのハイパーリンクセル
- 8. GWT CellTable Styling
- 9. GWT Celltable and TABbing
- 10. GWT Celltable resize
- 11. gwt celltable paging
- 12. 私のGWT cellTableで
- 13. GWT CellTable - ヘッダからソート矢印を削除する
- 14. GWT CellTableのセルの色
- 15. GWT CellTableヘッダーのTextCellとTextInputCell
- 16. GWTのクラスを呼び出す方法
- 17. GWTドラッグ可能なCellTableセル
- 18. createUploadUrl()を呼び出すGWT Blobstoreエラー
- 19. GWTコードからgetElementsByTagNameNSを呼び出す
- 20. GWTからリモートサーブレットを呼び出す
- 21. 配列の整数をソートするメソッドを呼び出す
- 22. GWT - celltable列を並べ替える方法は?
- 23. GWT CellTableヘッダ列はスペースを受け付けません(キーコード= 32)
- 24. GWT celltableにハイパーリンクを追加する
- 25. Ant、Groovy、GWT AntBuilderでGWTコンパイルを呼び出す
- 26. GWT CellTableに行番号列を追加する
- 27. GWT CellTable - 行に応じて列を追加します
- 28. GWTのcelltable - 私は次のコードを使用してcelltableにボタン型電池列を追加テーブル
- 29. Mysqlグループの列とアルファベット順のソート - PHPが呼び出す
- 30. GWTのviewImplクラスからサーブレットを呼び出す方法は?
私はpush()を2行続けて呼び出していますが、矢印は2回ソートされているように示していますが、実際のデータは表示されません。なぜこれが起こっているのか考えられない。 – slugmandrew
ここで同じですが、なぜわかりません –
私はその問題を抱えていましたが、代わりの回答として解決策を投稿しました。 –