This guide is meant to assist in upgrading from ParamQuery Pro v8.x to v9.x. Only changes which are impacted by upgrade are listed below, along with how to upgrade your code. For new features please refer the API and demos.

General Changes

There are changes in the exportData method, columns grouping layout and the way to exclude certain columns from exported data.


Column grouping

In previous versions, nested or grouped columns were rendered using both rowspan and colspan.

In current version however, nested columns are rendered by default using colspan only.

For backward compatibility, new option rowSpanHead when set to true makes the layout of nested columns same as in previous versions.

Exclude columns from exported data

In previous versions, column.copy = false option was used to exclude certain columns from exported data. It was incompatible with grouped columns.

In current version, column.skipExport = true option is used for the same purpose. New option is compatible with grouped columns.


In previous versions, default value of fillHandle option was 'all'.

In current version, default value of fillHandle option is undefined.

exportData method

In this version, the exportData method has undergone significant enhancements, including the addition of numerous parameters. However, to maintain clarity and avoid excessive complexity, certain parameters such as zip and url have been removed and separated into distinct functions.

The remote export functionality, previously reliant on the url parameter in earlier versions, has now been moved to a separate method called "pq.postData." Additionally, file zipping can now be achieved using the jszip API.

The paramter workbook has been deprecated, so instead of

    format: 'xlsx',
    workbook: true

use this:

    format: 'wb' //wb stands for workbook.

Overall, these modifications aim to streamline the exportData function, improve its readability, and leverage specialized methods for remote export and file compression.

getInstance method

In this version, the ''getInstance'' method has been replaced with 'instance' method.

So instead of using this

var grid = $grid.pqGrid('getInstance').grid

kindly use this to get reference to grid instance:

var grid = $grid.pqGrid('instance')

Normal or non-hierarchical checkbox columns (v9.1.0)

In previous versions, any checkbox selection / deselection in a normal checkbox column fires beforeValidate and change events in addition to beforeCheck and check events.

In this version if there is either a header checkbox or row selections are bound to checkboxes then

  • beforeValidate and change events are not fired
  • history for undo / redo is not saved

Applications which require these 2 events can explicitly specify it by setting column.cb.useTxn option to true.
Applications which require history can explicitly specify it by setting column.cb.history option to true.