jquery Datatables プラグイン (http://www.datatables.net) を使用しており、多くの列 (75 以上) と 50 行未満を表示する必要があります。ユーザーにとってこれを簡単にするために、素晴らしいプラグイン FixedColumns を使用します。私はページネーションとソートを使用していません(これにより遅くなり、最大50行のページネーションは実際には必要ありません)
IE9 ではテーブルのレンダリングが遅すぎる (>7 秒) ため、PHP から JSON データを使用してサーバー側でデータを取得します。これは物事をスピードアップしますが、今私は問題を抱えています。テーブルの頭には 2 つの行があり、最初の行には colspan があり、2 番目の行には列の数がデータとして含まれています。
どういうわけか、このようにテーブル内で THEAD を使用できず、「aoColumns」パラメーターは複数行の列をサポートしているようには見えません。複数行の THEAD (colspan を含む) を使用し、ajax を使用してデータを取得する方法を知っている人はいますか?
このコードを使用してテーブルを作成しています。
var defaultOptions = {
"sScrollX": "100%",
"bScrollCollapse": false,
"sHeightMatch": "none",
"bPaginate": false,
"bLengthChange": false,
"bSortClasses": false,
"bSort":false,
"bFilter": false,
"bSort": false,
"bInfo": false,
"bAutoWidth": false,
"bServerSide": false,
"bProcessing":true,
"bDeferRender": false,
"sAjaxSource": "/leerkracht/controle_data.php",
"fnServerParams": function ( aoData ) {
aoData.push( { "name":"groep", "value":"56"} );
},
"oLanguage": {
"sProcessing": "<div style='margin-top:7px;margin-bottom:7px;'><img src='/images/ajax-loader.gif' style='margin-right:7px;'/>Bezig met ophalen scores...</div>", "sLengthMenu": "_MENU_ resultaten weergeven", "sZeroRecords": "Geen resultaten gevonden", "sInfo": "_START_ tot _END_ van _TOTAL_ resultaten", "sInfoEmpty": "Geen resultaten om weer te geven", "sInfoFiltered": " (gefilterd uit _MAX_ resultaten)", "sInfoPostFix": "", "sSearch": "Zoeken:", "sEmptyTable": "Geen resultaten aanwezig in de tabel", "sInfoThousands": ".", "sLoadingRecords": "Een moment geduld aub - bezig met laden...", "oPaginate": { "sFirst": "Eerste", "sLast": "Laatste", "sNext": "Volgende", "sPrevious": "Vorige" }
}
}
var oTable = $('#controleTable').dataTable(defaultOptions );
new FixedColumns( oTable );
水平方向にスクロールするためのScrollerのようなプラグインがあればいいのにと思います(スクロール後にajax呼び出しを行い、「新しい」列と「新しいデータ」を再描画します)...