1

我正在使用 jquery Datatables 插件 (http://www.datatables.net) 并且需要显示许多列 (75+) 和一些 <50 行。为了让用户更轻松,我使用了出色的插件 FixedColumns。我没有使用任何分页和排序(这会使这变慢,并且实际上不需要最多 50 行的分页)

在 IE9 中,表格的呈现速度太慢(>7 秒),所以现在我使用来自 PHP 的 JSON 数据检索数据服务器端。这加快了速度,但现在我遇到了一个问题。我的表头有两行,第一行有一个 colspan,第二行有列数作为数据。

不知何故,我不能以这种方式在表内使用 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 回答