2016-04-14 41 views
0

要求:数据表:在块负荷数据

我期待从服务器加载一个大datasetjQuery DataTables

而不是一次加载整个数据,我想通过块加载表块。当用户点击分页索引时,使ajax调用获取几百行。

例子:

所以,在网格中只有10条记录每页将是可见和分页将高达50指数的50 index10(records per page)*50(pages) = 500(records))。在点击我们想获取另一个500 records,并添加在相同的datatable然后索引将高达100

我有一个数据集1500记录,但有一次我只能取500记录。

我在探索SOdatatable forum中的各种问题,但至今仍未找到解决方案。

数据表论坛:Trying to do client side lazy loading

+2

如何使用[服务器端处理](https://datatables.net/manual/server-side)? –

+0

谢谢@ Gyrocode.com,它会工作。 –

回答

0

我给一个概念性的答案,因为我不知道你的服务器的任何事情。基本上在客户端你有一个page变量,它初始化为0.在你的服务器上,你有一个chunk变量,它被设置为10.每次你需要加载数据时,你增加page并发送一个包含page作为参数的ajax请求。

然后,您的服务器将查询数据库中的行page * chunk(page * chunk)+chunk-1)。这要求您选择所有行,给每行一个索引,然后检索正确的块。请注意0​​[包含式,独占]块。

实施例:

page = 0; chunk start index = page * chunk = 0 chunk end index = page * chunk + chunk - 1 = 9

检索一行从数据库0-9。

page = 1; chunk start index = page * chunk = 10 chunk end index = page * chunk + chunk - 1 = 19

检索一行从数据库10-19。

page = 2; chunk start index = page * chunk = 20 chunk end index = page * chunk + chunk - 1 = 29

检索一行从数据库20-29。

您可以将chunk变量转换为每次调用所需的记录数量。