2

我正在使用 JQuery 数据表来显示我的数据库中存在的所有项目:

<script type="text/javascript" charset="utf-8">
    $(document).ready(function(){
        $('table.display').dataTable({
            "bJQueryUI": true,
             "sPaginationType": "two_button",
             "aaSorting":[[2, "desc"]],
             "bRetrieve": true,
              "iDisplayLength": 10, // 10 records will be displayed by default
              "sScrollY": "250px",
              "sDom": '<"H"Tfr>t<"F"ip>',
              "oTableTools": {
                  "sRowSelect": "multi",
                  "aButtons": [
                      "copy", 
                      {
                          "sExtends": "csv",
                          "sTitle": "data"
                      }                     
                  ]
               }
        });
    })
</script>

如果记录超过 10 条,则可以使用按钮移动到接下来的 10 条记录。

问题是我的一位同事告诉我,如果我们有大量项目,这可能会使页面变得非常慢。我不确定这一点,因为如果我选择显示 10 条记录,那么它不会使页面变慢。我对吗 ?

最好的

4

2 回答 2

1

如果超过 10 条记录,是否可以使用按钮移动到接下来的 10 条记录?是的,绝对的。

数据表有两种工作方式:

  1. 客户端,这意味着所有数据将完全下载和分页(由数据表自动,例如:每页 10 条记录)。这样,如果您有大量数据,页面会很慢
  2. 服务器端,这种方式datatable只下载请求的数据,所以每次下一页/上一页都会向服务器请求。这样你必须有服务器端代码来手动分页数据(当然它必须与来自数据表的请求兼容)。
于 2013-10-07T09:59:06.057 回答
1

请看这里

如果您想进行服务器端处理,请单击此处

有很多方法可以将数据放入 DataTables,如果您使用的是非常大的数据库,您可能需要考虑使用 DataTables 提供的服务器端选项。基本上,DataTables 所做的所有分页、过滤、排序等操作都可以交给服务器(或任何其他数据源——例如 Google Gears 或 Adob​​e Air!),而 DataTables 只是一个事件和显示模块。

$(document).ready(function() {
    $('#example').dataTable( {
        "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": "../examples_support/server_processing.php"
    } );
} );
于 2013-11-28T13:32:37.110 回答