Please note that the API is not finalised and may change so check back once in while.
ObjectReturns a reference to the HTMLTableElement.
ObjectReturns a reference to the main HTMLDivElement that wraps the entire layout.
ObjectReturns a reference to the main HTMLDivElement that contains the table.
ArrayReturns a reference to the currently displayed pagers.
ObjectReturns the current configuration options. See Options
BooleanReturns true if the library is fully loaded and all HTML is rendered.
ObjectThe data of the table, containing two parts: headings and data (contents of the tables).
headings: An array of header cells.
data: An array of rows of data. Each row consists of an array of row cells.
Header cells are objects with these fields:
data (any, required): The headers data in it’s original format.
text (string, optional): In case the browser’s automatic conversion of the data field to a string to display in a browser is not working correctly, this field can be sued to control what is being rendered.
type (string, optional): “html” in case of the data field is an array of DiffDOM nodes. “string” in case of a plaintext string.
Row cells are objects with these fields:
attributes (any, optional): The row attributes. Use like { "class": "my-class", "style": "background-color: pink;" }.
cells (any[], required): The list of cells in this row. See “Content cells” for more details.
Content cells are also objects with the same data and text fields that header fields has and additionally with this field:
order (string or integer, optional): Used for sorting in case and is useful if the data field cannot be used for sorting.IntegerAll rows in the data.data array have a custom propery named data-index. This represents the position in the data array. It can be useful for getting the correct position of a row as the native rowIndex property may be either -1 if the row isn’t rendered or incorrect if you’re on any other page than page 1.
Also, in some browsers, the first row of a tbody element will have a rowIndex of 1 instead of 0 as they take the thead row as the first row.
For example if you want to remove the first row on page 5 while showing 5 rows per page (21st row):
// grab the first row on page 5
let firstRow = document.querySelector("tbody tr");
// INCORRECT: Because it's the first rendered row the native firstRow.rowIndex
// will be 1 which will remove the second row in the data array
datatable.rows.remove(firstRow.rowIndex);
// CORRECT: firstRow.dataset.index will return 20 which is the
// correct position (21st row) in the data array
datatable.rows.remove(parseInt(firstRow.dataset.index));
ArrayReturns a collection of pages each of which contain collections of HTMLTableRowElements.
BooleanReturns true if the current table has rows.
BooleanReturns true if the current table has headings.
IntegerReturns the current page number.
IntegerReturns the number of pages.
BooleanReturns true if the current page is also the first page.
BooleanReturns true if the current page is also the last page.
BooleanReturns true if a search is currently being done and search results are displayed.
ArrayReturns an array of index numbers of current search result rows from data.data.