如何获取数据表中的列数?
我可以通过执行oTable.fnGetData()。length来获取行数但是如何获取列数以便我可以像这样迭代每个单元格:
var numColumns = //How to get the number of columns?
for(var r=0;r<oTable.fnGetData().length;r++){
for(var c=0;c <= numColumns;c++){
console.log("[R]: "+r+ "[C]: "+c+ " data: "+oTable.fnGetData(r,c));
}
}
答案 0 :(得分:12)
DataTables 1.9 +
// Get number of all columns
var numCols = $('#example').dataTable().fnSettings().aoColumns.length;
// Get number of visible columns
var numCols = $('#example thead th').length;
请参阅this jsFiddle进行演示。
DataTables 1.10 +
// Get number of all columns
var numCols = $('#example').DataTable().columns().nodes().length;
// Get number of visible columns
var numCols = $('#example').DataTable().columns(':visible').nodes().length;
// Get number of visible columns (alternative way)
var numCols = $('#example thead th').length;
请参阅this jsFiddle进行演示。
DataTables 1.10.6 +
$('#example').DataTable().cells().every( function (rowIndex, colIndex) {
var data = this.data();
console.log("Row:", rowIndex, "Col:", colIndex, "Data:", data);
});
答案 1 :(得分:8)
fnGetData可用于获取单个数据行。 因此,您只需检查数据行的长度即可获得列数。
示例:
oTable.fnGetData(someRowNumber).length;
以上将返回该数据行中的列数。