我正在搜索我的数据表
使用以下声明:
var dataTable = $(#dt).DataTable().search("searchpattern");
dataTable.draw();
所以一切都很好,数据表只显示与searchpattern匹配的条目。
但我如何判断,有多少条目与模式匹配?
我尝试过以下方法:
dataTable.rows().nodes().length;
但返回的始终是所有记录的数量,而不是匹配记录的数量。感谢您的建议帮助!
答案 0 :(得分:9)
您可以根据get filtered rows使用此功能:
dataTable。$(' tr',{"过滤":"已应用"})。长度;
答案 1 :(得分:5)
从DataTables 1.10开始,使用iostream
看起来是获取当前信息的最佳方式(在处理/搜索/重新加载之后)。
所以..
dataTable.page.info()
结果:
var table = $('#example').DataTable();
var info = table.page.info();
console.log(info);
{
"page": 1,
"pages": 6,
"start": 10,
"end": 20,
"length": 10,
"recordsTotal": 57,
"recordsDisplay": 57,
"serverSide": false
}
就是你所要求的。参考:page.info() at dataTables API。
答案 2 :(得分:2)
尝试这样的事情:
...
var total_row_count = dataTable.fnSettings().fnRecordsTotal();
var filtered_row_count = dataTable.fnSettings().fnRecordsDisplay();
console.log(total_row_count + " total rows filtered down to " + filtered_row_count);
http://datatables.net/forums/discussion/2278/how-to-get-number-of-rows