Skip to content
This repository has been archived by the owner on May 30, 2021. It is now read-only.

columns()

Karl edited this page Sep 25, 2017 · 18 revisions

As of v1.2.0, the columns API is implemented and allows access to the table columns for quick manipulation.

To use the columns API just call the columns() method on the current instance:

var columns = datatable.columns();

You can then chain the following methods.


sort(column [integer], direction [string])

Sort the selected column. The column parameter should be a non-zero-based integer. The direction parameter is optional.

Replaces the deprecated sortColumn method.


add(data [object])

Add a new column to the current instance. The data parameter should be an object with the required heading and data properties set. The heading property should be a string representing the new column's heading. The data property should be an array of strings representing the cell content of the new column.

var columns = datatable.columns();

var newData = {
    heading: "Column Heading",
    data: [
        "Value 1",
        "Value 2",
        "Value 3",
        ...
    ]
};

// Add the new column
columns.add(newData);

You can also pass the sortable, type and format properties to further customise the new column.

The sortable property defaults to true, unless sorting is disabled globally.

var newData = {
    type: "date",
    format: "YYYY/MM/DD"
    heading: "Start Date",
    data: [
        "1999/10/25",
        "2000/05/12",
        "2003/08/01",
        ...
    ]
};

remove(select [integer|array])

Remove a column or columns from the current instance. The select parameter should be either an integer or an array of integers representing the column indexes to be removed.

var columns = datatable.columns();

// Remove the 4th column
columns.remove(3);

// Remove the 1st and 2nd column
columns.remove([0,1]);

// Remove the last column
columns.remove(datatable.headings.length - 1);

hide(select [integer|array])

Hides the selected column(s). The columns will not be visible and will be omitted from search results and exported data.

// Hide the first and second columns
columns.hide([0,1]);

show(select [integer|array])

Shows the selected column(s) (if hidden). The columns will be visible and will be included in search results and exported data.

// Show the first and second columns
columns.show([0,1]);

visible(select [integer|array])

Checks to see if the selected column(s) are visible. Returns a boolean for single indexes or an array of booleans for multiple indexes.

If you omit the select parameter, an array of booleans will be returned representing all available columns.

var columns = datatable.columns();

// Hide the 4th of 5 columns
columns.hide(3);

// Check visiblilty
columns.visible(3) // returns false

or 

columns().visible([0,1,2,3]) // returns  [true, true, true, false]

or

columns().visible() // returns  [true, true, true, false, true]

hidden(select [integer|array])

Checks to see if the selected column(s) are visible. Returns a boolean for single indexes or an array of booleans for multiple indexes.

Usage is the same as the visible method.

As of 1.4.18 the hidden() method has been deprecated and will be removed in the next minor version.


swap(indexes [array])

Swap th position of two columns. Just pass an array of 2 integers representing the column indexes you require swapping.

var columns = datatable.columns();

// Swap the 1st and 6th columns
columns.swap([0,5]);

order(indexes [array])

Order the columns based on the given order. Just pass an array of column indexes in the order you require:

Original order

Original order

// Reorder the columns
datatable.columns().order([1,3,4,2,0]);

Result

Original order

Clone this wiki locally