データにカスタムソートが適用されるjtableがあります。テーブルが最初に起動されるとき、ソートにはStringデータのみが含まれているので、ソートは正常に行われます。テーブル構造が変更された後(同じ列にSting( "N/A")とダブルデータの組み合わせを持つ新しい列が追加されると、カスタムソートアルゴリズムが削除されたように見える) JTableのでdefaultsortingが、混合データを持つ列は、ClassCastExceptionができます。そこに私は、すぐtableStructureChangeイベントが発生したとして、それをカスタムの並べ替えを維持するか、再適用することができる。テーブル構造が変更された後にカスタムソートをjtableに保持する
1
A
答えて
0
public void sortTable(){
TableRowSorter<TableModel> sort = new TableRowSorter<TableModel>(Jtable.getModel());
Jtable.setRowSorter(sort);
List<RowSorter.SortKey> sortKeys = new ArrayList<>();
sortKeys.add(new RowSorter.SortKey(4, SortOrder.ASCENDING));
sortKeys.add(new RowSorter.SortKey(0, SortOrder.ASCENDING));
sorter.setSortKeys(sortKeys);
}
のこれはあなたが実際のJTableを並べ替える必要がある方法です。このコードで試してみてください。例外があれば投稿してください。
0
なぜtableStructureChanged
イベントが生成されるのですか?これは、テーブルの列構造が変更されたことを意味します。hあなたは同じ列が存在することを知っていますか?
テーブルをリフレッシュする場合、なぜ新しいTableModeを作成するのですか?代わりに、テーブルからすべてのデータ行を削除することができます(つまり、DefaultTableModelでsetRowCount(0)を使用)し、新しいデータ行を挿入します。このようにしてtableStructureEvent
は生成されません。
その他のオプションは、ソート情報を保存し、ソーターを再作成することです。現在のソートキーは、DefaultRowSorterから取得できます。だから、基本的なロジックは次のようになります。
- getSortKeys()
- リフレッシュするTableModel
- setSortKeys(...)
チェックアウトソーターを再作成:ワーキング例えばTrying to get the sorter positon to retain after a table refresh 。
関連する問題
- 1. ソナープラグインがパッケージ構造変更後にコンパイルされない
- 2. レプリケートされているテーブルのデータベース構造を変更する
- 3. Vimで保存した後に構文のハイライトが変更される
- 4. イベントハンドラに渡された構造体を変更しますか?
- 5. Jtableで列をドラッグした後に列インデックスが変更されない
- 6. はテーブル構造に変更されましたが、hibernateはそれを更新しません
- 7. django-tables2テーブルのビジュアル構造を変更するには?
- 8. オリエンテーションが変更されたときにAndroid webviewのフォームデータが保持される
- 9. UIボタンの色が変更された後に変更する
- 10. NPM中にフォルダ構造を変更すると、私は次の構造を持つノードモジュールを持っている
- 11. インデントされた階層テーブル構造
- 12. ドロップダウンオプションが変更されたときにテーブルを更新する
- 13. ログインログアウトログを保持するためのテーブル構造は何ですか?
- 14. レンジキーで値を保持する構造
- 15. 構造体がリスト内にあるときに構造体フィールドを変更
- 16. 親クラスを変更した後のテーブルの幅が変更されます
- 17. ネストされたリストを上書きしてネーミング/構造を保持する
- 18. クエリ文字列が変更されたときにコントロールを保持する
- 19. HTML5 - イメージのサイズを変更し、サイズ変更されたイメージにEXIFを保持
- 20. 例外が発生した後に変数を保持する
- 21. 実行時にJTableプロパティが変更される
- 22. Javascriptを使ってテーブル構造を変更する
- 23. Unixシステムにファイルを保存するために使用されるデータ構造
- 24. 下にコンテンツが変更されているときにボタンを保持する
- 25. データベースにTreelike構造が保存されています
- 26. SQl Server 2008のテーブル構造を変更する
- 27. ページ更新後に$ _POST生成変数を保持する
- 28. テーブルデータモデルの変更後にJTable cellEditorが残ります
- 29. paperclip - イメージを保存するためのパス構造を変更する
- 30. テーブルAが更新された後のHibernateの更新テーブルB
並べ替えは問題ではありません。この問題は、firetableStructureChanged()メソッド呼び出しでtableStrucutureが変更されると元のカスタムソートアルゴリズムが削除され、元のソートアルゴリズムを維持するか、テーブルの構造が変更されると自動的に自動的に再適用されるように求められます。 – Amit
質問にコードを入れてください。 – Priyamal