1

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呼び出しを行い、「新しい」列と「新しいデータ」を再描画します)...

4

1 に答える 1

0

パフォーマンスが悪いため、jQuery Datatables を使用しませんでした。私は Dojo グリッドを使用することに決め、問題を解決しました。また、はるかに高速です。

于 2012-11-25T23:35:11.557 に答える