1

私はデータテーブルをオンライン アプリケーションに統合してきましたが、全体的にはうまくいかない方法がいくつかあることに感銘を受けました。そのうちの 1 つはテーブルの列の並べ替えです。それはコーダーにとって最悪の悪夢になるだろうと書いてください。

現在、テーブルでセル ヘッダーをクリックすると、新しい並べ替えられたデータでページが更新されます。私の質問は、デフォルトのメソッドをオーバーライドして、代わりに特定のスクリプトを呼び出す方法を教えてください。AjaxSource メソッドを試してみましたが、期待どおりに動作しません。テーブル スクリプトが処理する 2000 行のデータを書き直すよりも、並べ替えを書き直す方が簡単になることを願っています。

現在、次のデータテーブルを作成しています。

objDataTable = $jq('#table' + TABLETABDATA).dataTable( {
"sScrollY": 520,
"bJQueryUI": true,
"bInfo": false,
"bPaginate": false,
"bScrollCollapse": true,
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": AJAXSOURCE,
"sServerMethod": "POST",
"fnServerParams": function ( aoData ) {
    if (extraparams.length > 0)aoData.push( extraparams );
},
"iDeferLoading": 57,
"bSortClasses": false,
"sDom" : '<"H"<"sitedrop">lfr>t<"F"<"excelexport"><"pagination">ip>',
"oLanguage": { "sSearch": "Filter: " }
} );
4

1 に答える 1

0

呼び出しを次のように変更し、代わりに自分でテーブルのヘッダー行にリンクを追加しました。これを行うにはもっとエレガントな方法があると思います。

objDataTable = $jq('#table' + TABLETABDATA).dataTable( {
    "sScrollY": 520,
    "bJQueryUI": true, 
    "bInfo": false, 
    "bPaginate": false,
    "bScrollCollapse": true,
    "bProcessing": true,
    "iDeferLoading": 57, 
    "bSort" : false, 
    "sDom" : '<"H"<"sitedrop">lfr>t<"F"<"excelexport"><"pagination">ip>', 
    "oLanguage": { "sSearch": "Filter: " } 
} );
于 2012-07-03T10:20:05.330 に答える