datatables количество столбцов
Как получить количество столбцов в DataTable?
Я могу получить количество строк, выполнив oTable.fnGetData ().но как получить количество столбцов, чтобы я мог перебирать каждую ячейку следующим образом:
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));
}
}
2 ответов
fnGetData можно использовать для получения одной строки данных. Таким образом, вы можете просто проверить длину строки данных на количество столбцов.
пример:
oTable.fnGetData(someRowNumber).length;
выше будет возвращено количество столбцов в этой строке данных.
ПОЛУЧИТЬ КОЛИЧЕСТВО СТОЛБЦОВ
-
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;
посмотреть этот 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;
посмотреть этот jsFiddle для демонстрации.
ИТЕРАЦИЯ ПО КАЖДОЙ ЯЧЕЙКЕ
-
объекты DataTable 1.10.6+
$('#example').DataTable().cells().every( function (rowIndex, colIndex) { var data = this.data(); console.log("Row:", rowIndex, "Col:", colIndex, "Data:", data); });