Virtual scrolling is replaced with native browser scrolling to enable smooth scrolling in virtual mode.
Virtual swipe in touch devices is replaced with native touch scrolling of devices.
Rows & columns are always displayed in virtual mode now, hence virtualX
, virtualY
options are ignored.
It has an impact on scroll API, row heights, markup of building blocks of grid.
In previous versions, row height is always auto i.e., height is always equal to the content height.
Now we have the option to fix row heights with new options i.e.,
rowHt, rowHtHead, rowHtSum
( for same height of all rows ) and rowData.pq_ht.
for individual different height of rows.
To make the row heights auto, autoRow
, autoRowHead
, autoRowSum
are set by default to true in which case row height of body, header and footer cells becomes equal to the content height.
Auto row heights are calculated asynchronously and for the cells currently displayed in viewport.
To disable auto row heights, set these options to false.
Virtual scrollbars are removed and there is new API based on native scrollbars:
scrollModel.timeout
scrollCell, scrollX, scrollY, scrollXY
scroll, scrollStop
Also the scrolling is now asynchronous, hence all new and old scrolling methods accept a callback parameter which is called by the grid when scrolling is complete.
Detail view is of fixed height based upon new option: detailModel.height
.
To get auto height for detail view, you need to include javascript-detect-element-resize/jquery.resize.js
in the document.
Cells and rows in grid are now absolute positioned divs ( attributed with ARIA role="gridcell"
and role="row"
for screen readers ) instead of td and tr respectively.
If you have any css rules based on td or tr tag name selectors, replace them with class name selectors i.e., ".pq-grid-cell"
& ".pq-grid-row"
.
Also the position
css rule for any building block of grid shouldn't be changed.