Back to the Documentation


Search and pagination are features that help with large spreadsheet datasets. It is also possible to intercept, cancel or customize the search behavior using the onbeforechangepage events.



The following methods are related to pagination.

Method Description
page page(pageNumber: Number) : void
Go to the page number.
whichPage whichPage() : void
Return the current page.
quantiyOfPages quantiyOfPages() : number
Get the quantity of pages available.


The onbeforesearch can be used to intercept, change or cancel the search results.

Event Description
onbeforesearch onbeforesearch(worksheet: Object, terms: String, results: Array, search: Object)
Action to be executed before the search. It can be used to cancel or to intercept and customize the search process.
onsearch onbeforesearch(worksheet: Object, terms: String, rowNumber: Array, search: Object)
After the search process is completed.
onchangepage onbeforechangepage(worksheet: Object, newPage: Number, previousPage: Number, quantityPerPage: Number)
Action to be executed before the page changes. It can cancel the action by returning false.
onpage onchangepage(worksheet: Object, newPage: Number, previousPage: Number, quantityPerPage: Number)
After the page has changed.

Initial Settings

The following properties are available through the initialization of the online spreadsheet.

Property Description
search: boolean Enable or disable the search.
pagination: number The number of items per page
paginationOptions: array The options for the user to select the number of results per page.


How to enable the search and pagination features on spreadsheet initialization.

<script src=""></script>
<script src=""></script>
<link rel="stylesheet" href="" type="text/css" />
<link rel="stylesheet" href="" type="text/css" />

<div id="spreadsheet"></div>

<input type='button' value='Search for APP' id="searchbtn"/>
<input type='button' value='Go to the second page' id="gotosecond"/>

let spreadsheet = jspreadsheet(document.getElementById('spreadsheet'), {
    worksheets: [{
        csv: '/tests/demo.csv',
        csvHeaders: true,
        search: true,
        pagination: 10,
        paginationOptions: [10,25,50,100],
        columns: [
            { type:'text', width:80 },
            { type:'text', width:200 },
            { type:'text', width:100 },
            { type:'text', width:200 },
            { type:'text', width:100 },
    onchangepage: function(el, pageNumber, oldPage) {
        console.log('New page: ' + pageNumber);

document.getElementById("searchbtn").onclick = () => spreadsheet[0].search('app');
document.getElementById("gotosecond").onclick = () => spreadsheet[0].page(1);