0

データを表示するために多くのYUIデータテーブルを使用しています。組み込みのページ付けを使用するのではなく、独自に行ったため、データセット全体をダウンロードせずにAJAXを使用してサーバー側でページ付けできます(多くの場合、膨大です)。 )。

ただし、データテーブルの並べ替え機能を使用する場合は常に、YUIの観点からはデータセット全体であるため、1ページしか並べ替えられません。

ユーザーがデータを並べ替えようとするたびに、任意の関数を呼び出してページデータを再読み込みできるようにする必要があります。DataTableのsortFunctionパラメーターを調べましたが、複数回呼び出され(必要な行の組み合わせごとに1回)、1回だけ実行する必要があるため、理想的ではありません。

私がこれを行うことができるハッキーな方法はおそらくたくさんありますが、これを行うための「最も良い」方法は何ですか?

4

2 に答える 2

0

理想的には、サーバー側で並べ替えます。

データテーブルを作成する場合、構成オプションの1つはgenerateRequestです(この例を参照してください:http://developer.yahoo.com/yui/examples/datatable/dt_bhm.html

generateRequestは、テーブルに入力するための正しいデータセットを返すURLを生成する関数であることが意図されています。あなたはおそらくこれを持っています。

私の場合、(並べ替えるために)列ヘッダーをクリックするたびに、サーバーに新しいリクエストが送信され、並べ替えられたデータの正しいページが取得されます。

于 2010-12-08T00:41:10.237 に答える
0

カスタム関数を作成して、呼び出されたかどうかを追跡する変数を閉じてみませんか?

var hasBeenCalled = false;
function mySortFunction(){
   if(!hasBeenCalled){
       // do something
       hasBeenCalled = true;
   }
}

次に、sortFunctionをそれに置き換えます。

于 2010-12-10T01:50:24.207 に答える