我正在使用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 条记录,那么它不会使页面变慢。我说的对吗?
最佳
如果记录超过 10 条
,可以使用按钮移动到接下来的 10 条记录?是的,绝对。
数据表以两种方式工作:
- 客户端,这意味着所有数据将完全下载和分页(通过数据表自动,例如:每页 10 条记录)。这样,如果您有大量数据,页面会很慢 服务器
- 端,这种方式数据表只下载请求的数据,所以每次下一页/上一页都会向服务器请求。这样你必须有服务器端代码来手动分页数据(当然它必须与来自datatable的请求兼容)。
请看这里。
如果要进行服务器端处理,请单击此处。
有许多方法可以将数据放入数据表中,如果您正在使用非常大的数据库,则可能需要考虑使用 DataTable 提供的服务器端选项。基本上,DataTables所做的所有分页,过滤,排序等都可以移交给服务器(或任何其他数据源 - 例如Google Gears或Adobe Air!),而DataTables只是一个事件和显示模块。
$(document).ready(function() {
$('#example').dataTable( {
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "../examples_support/server_processing.php"
} );
} );