======
jqGrid is a popular jQuery Plugin for displaying and editing data in tabular form. It has some other more sophisticated features, like subgrids, TreeGrids, grouping and so on.
jqGrid was developed mostly by Tony Tomov in the past and it was available under MIT/GPL-licences till the version 4.7.0 published Dec 8, 2014 (see here). Short time after that the license agreement was changed (see here) and new 4.7.1 version was published.
The code from the GitHib repository is the fork of jqGrid 4.7.0 - the latest version available under MIT/GPL-licences. It will be provided under MIT/GPL-licences.
Below you can find short description of new features and bug fixes implemented in free jqGrid 4.10.0 (compared with version 4.9.2). The version is developed by Oleg Kiriljuk, alias Oleg on the stackoverflow and OlegK on trirand forum.
Read Wiki for more detailed information about the features of free-jqGrid.
Free jqGrid can be used for free. We still ask to contribute the development by donating via PayPal, if one have the possibility for it. One can donate by clicking on the following button 
One can install the package with respect of bower by using "bower install free-jqgrid", with respect of npm by using "npm install free-jqgrid" or from NuGet by using "Install-Package free-jqGrid".
Free jqGrid is published on cdnjs and jsDelivr CDN. So one can use it directly from Internet by including for example
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.10.0/css/ui.jqgrid.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.10.0/js/i18n/grid.locale-de.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.10.0/js/jquery.jqgrid.min.js"></script>It somebody want to test the latest version of free jqGrid, one can load it directly from GitHib using RawGit service:
<link rel="stylesheet" href="https://rawgit.com/free-jqgrid/jqGrid/master/css/ui.jqgrid.css">
<script src="https://rawgit.com/free-jqgrid/jqGrid/master/js/i18n/grid.locale-de.js"></script>
<script src="https://rawgit.com/free-jqgrid/jqGrid/master/js/jquery.jqgrid.src.js"></script>All other language files and plugins are avalable from CDN too. See the wiki article for more details about the usage of free jqGrid from CDNs and RawGit.
The package is published on WebJars and it's deployed on Maven Central too.
Remark: the above URLs will be available after publishing the release of the version of 4.10.0
- New
abortAjaxRequestmethod, which allows to abort pending Ajax request (before receiving the answer from the server). See the issue for more details. - New option
threeStateSort:trueis implemented. It change the default behavior on click on the column header. Instead of toogleing between ascending and descending sorting, it will be changed between three states: ascending, descending and unsorted. See the pull request and the demo for more details. - New option
multiPageSelection:trueis implemented. It works in combination withmultiselect:trueoption. It allows 1) select some rows during loading just by filling the rowids inselarrrowparameter 2) the parameterselarrrowcan hold now selected rows from multiple pages. Selection of some rows on one page, changing of the page, selection some rows on another page, returting to the previous page hold all previously selected rows. Sorting don't clear the selection. See the answer and the demo for more details.* New optionmaxHeightallows to setmax-heightCSS property on bdiv. The new option can be good combined with defaultheight: "auto"option. For example the optionmaxHeight: 400have no influence in case of small number of rows, but it reduces the maximal height of body of the grid (bdiv) to400px, the grid get not so many place on the page and the user have to use horizontal scroll bar (created on demand). See the old answer for more details. - New option
quickEmpty:"quickest"is implemented and is default. It improves the performance of rewdrawing the grid. One can usequickEmpty:trueto switch back to the previous behavior and to usequickEmpty:falseto get back to the behavior of jqGrid 4.7. - New options of
editRowallows easy to implement starting of inline editing inside ofonSelectRoworondblClickRowand setting the focus on the cell which the user clicked. See the answer and the demo for details. - New callback
subGridOptions.hasSubgridis implemented. It allows to remove "+" icon of subgrid from some rows which definitively have no subgrids (have empty subgrids). See the answer and the demo for more details. - Essential improvement of performance of frozen columns espesially in scenario where the grid have many hidden rows (like data grouping with
groupCollapse: trueoption ingroupingView). The parameters of the eventjqGridResetFrozenHeightsallows to elliminate unneeded work. See discussion the pull request for more details. One can compare the performance of expanding/collapsing in the demo with the same demo, but which uses free jqGrid 4.9.2. One can increase the size of rows from 100 to 1000 for example (ingetGridData(100)) and compare the both demos. One can compare the time for resizing the columns in both grids. - Essential improvement of performance of
autoResizeColumnmethod used inautoResizeColumnandautoResizeAllColumnsmethods and in case of usage ofautoresizeOnLoad: trueoption.
- Bug fix in usage of
sortable:true(sortableColumnsmethod) - New
abortAjaxRequestmethod, which allows to abort pending Ajax request (before receiving the answer from the server) - Bug fix in processing of sorting by the date
"0000-00-00" - Bug fix to process of Enter on navigator buttons only. It can be important in case of usage custom elements in the navigator bar.
- Bug fix in processing of filters of Advainced Searching after Reset button is previously pressed.
- Fix of the height of column resizer
- New option
multiPageSelection:trueis implemented. It works in combination withmultiselect:trueoption. It allows 1) select some rows during loading just by filling the rowids inselarrrowparameter 2) the parameterselarrrowcan hold now selected rows from multiple pages. Selection of some rows on one page, changing of the page, selection some rows on another page, returting to the previous page hold all previously selected rows. Sorting don't clear the selection. - Performance improvements of
$.jgrid.parseDate - New callback
subGridOptions.hasSubgridis implemented. It allows to remove "+" icon of subgrid from some rows which definitively have no subgrids (have empty subgrids). - Bug fix in
GridToFormmethod in parsing of data, which contains symbol - Update of
grid.inlinedit.jsto allow overwrite$.jgrid.info_dialogmethod. - New option
multiPageSelection:trueis implemented. - Bug fixes in frozen columns in creating of hdiv and sdiv
- New option
quickEmpty:"quickest"is implemented and is default - Allow to use
focusFieldas DOM element or Event as option ofeditRow. New optiondefaultFocusFieldimplemented ineditRow. The new options allow easy to implement starting of inline editing inside ofonSelectRoworondblClickRowand setting the focus on the cell which the user clicked. - Add small magrin for sorting icons (between the sorting icon(s) and the text of column header)
- Bug fix in calculation of the width of column headers in
getAutoResizableWidth - Bug fix of the icon of TreeGrid leaf
- Improve performance of
autoResizeColumnmethod - update frozen columns to work better with filter toolbar and
jqPivot - Bug fix in the code of
editRowto makekeys:trueoption correctly work with frozen columns. - Improve performance
setRowDatawith frozen columns - Bug fix to support
focusFieldwhich point to frozen column - Improvement of the performance of frozen columns
- Bug fix of the frozen footer (fsDiv)
- Add new
$.jgrid.hasAllClassesmethod - New option
maxHeightallows to setmax-heightCSS property on bdiv. The new option can be good combined with defaultheight: "auto"option. For example the optionmaxHeight: 400have no influence in case of small number of rows, but it reduces the maximal height of body of the grid (bdiv) to400px, the grid get not so many place on the page and the user have to use horizontal scroll bar (created on demand). - Bug fixes in setting the width of bdiv (in case of vertical scrollbar appears)
- Bug fixes in
groupingRenderin processing of multi-level grouping withgroupCollapse:trueandshowSummaryOnHide:false groupingTogglemethod is full rewritten to better support frozen columns and to improve the performance- Bug fix in
setGroupHeadersto set<thable>always before<btable>in the hdiv setFrozenColumnsmethod is changed to improve essentially the performance.- The parameters of
jqGridResetFrozenHeightsevent is changed to improve performence insetFrozenColumns - Bug fix in internal
savePositionOnHidefunction used in all methods of form editing to save the position of the form on closing. The position of the forms is correctly saved and restored now.
Other readmes contains the list of the features and bug fixed implemented before:
- README492.md contains the readme of free jqGrid 4.9.2.
- README491.md contains the readme of free jqGrid 4.9.1.
- README49.md contains the readme of free jqGrid 4.9.
- README48.md contains the readme of free jqGrid 4.8.
Many thanks to all, who sent bug reports and suggestions to improve free jqGrid!