How do i get the number of columns in a datatable?
I can get the number of rows by doing oTable.fnGetData().length but how do I get the number of columns so I can Iterate over each cell like this:
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));
}
}
According to MSDN DataTable Class "The maximum number of rows that a DataTable can store is 16,777,216"
The columns option in the initialisation parameter allows you to define details about the way individual columns behave. For a full list of column options that can be set, please see the related parameters below.
This is Expert Verified Answer. By using the Column name or Column index we can identify a column in a data table.
DataTables has the ability to show tables with horizontal scrolling, which is very useful for when you have a wide table, but want to constrain it to a limited horizontal display area. To enable x-scrolling simply set the scrollX parameter to be true .
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;
See this jsFiddle for demonstration.
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;
See this jsFiddle for demonstration.
DataTables 1.10.6+
$('#example').DataTable().cells().every( function (rowIndex, colIndex) {
var data = this.data();
console.log("Row:", rowIndex, "Col:", colIndex, "Data:", data);
});
The fnGetData can be used to get a single data row. So, you can simply check the length of the data row for the number of columns.
Example:
oTable.fnGetData(someRowNumber).length;
The above will return the number of columns in that data row.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With