【发布时间】:2015-02-27 15:11:48
【问题描述】:
我在我的应用程序中使用 DataTable。我的应用程序不是服务器托管的应用程序。 (我将直接在我的独立应用程序中呈现 HTML。嗯,这是另一回事。)
目前我正在填充 DataTable,如下所示,
$(dataTableSelector).dataTable({
"sDom": 't <f> <i> <p> > ',
"bRetrieve": true,
"aaSorting": [],
"aaData": rows,
"aoColumns": columns,
"oLanguage": {
"sSearch": "",
"sInfo": "_START_ - _END_ Total: _TOTAL_ ",
"sInfoFiltered": "(filtered from _MAX_)"
}
});
这里rows 是我的全部数据,在数组数组中作为 Javascript 源数据。
但现在我的问题是,如果我要用 DataTable 渲染的数据很大,那么加载需要更长的时间。 因此,我试图改变类似于服务器端处理的数据表(但请注意,我没有任何服务器,它仅仅是一个本地的HTML页面)。单击下一步时,它应该只加载下一个,页面数据。到那时,它不应该加载相同的。
说,我在javascript中有一个函数
function loadData(start,end, searchString){
//Function to fetch records from a Table with start and end numbers of records.
//searchString is optional.
//rows= GetDataFromTable(start,end, searchString);
return rows;
}
所以,每当下一个或前一个按钮被点击在数据表中,或搜索,我的JavaScript方法应被调用,它应该重新填充数据表。有什么想法吗?
【问题讨论】:
-
非常好的问题,也许服务器端处理在这种情况下可能有用:datatables.net/examples/data_sources/server_side.html
-
没有一些服务器端代码将无法工作。也许将客户端的数据存储在本地存储中。因此,如果一旦获取大量数据,就可以对其进行过滤和分页。但这不会很酷(对用户而言),如果数据经常更改,它也会有一些同步问题。我建议只有当你有固定的数据这种方法,那就是知道自己的本地存储是通过大量的数据填充的用户组。 SPAN>
-
你必须有很多很多行。有多少?
-
@davidkonrad:50 到 100K。
-
你用的是什么DataTables版本,如果是1.9.x,能升级到1.10.x吗?
标签: javascript jquery html jquery-datatables