最大 1M のエントリを含むデータベース テーブルのデータを表示する JFX アプリケーションを作成するつもりです。残念ながら、標準 API では遅延読み込みをサポートすることが困難です。テーブル全体を読み取ることはオプションではありません (100K エントリまでは適切に実行されますが)。
ページングは、TableView のモデルとして提供されるカスタム リスト クラスを使用して実行できます。ただし、TableView の並べ替え動作も制御する必要があります。私の場合、これは dbms に任せられるからです。
見苦しい解決策は、列を並べ替え不可にし、Click-Event リスナーを Column-Header に追加することです。コーディングとは別に、これにより、現在の並べ替え順序を通常の方法で表示することもできなくなります。
columnSortOrder への変更をリッスンすることは可能ですが、標準の並べ替えメカニズムは引き続き適用されます。私ができるようにしたいのは、TableView の並べ替え動作を完全に制御しながら、列ヘッダーに標準の昇順/降順アイコンを表示することです。
[編集:要するに、遅延読み込みを実装したい。通常の TableView とまったく同じように動作するが、ユーザーが列ヘッダーをクリックしたときにリストを並べ替えない TableView が必要です。ただし、ソート順は列ヘッダー ラベルに表示されます。]
それはどういうわけか達成することは可能ですか?
事前にご回答いただきありがとうございます。