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 originally by Tony Tomov and it was available under MIT/GPL-licenses 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-licenses. It will be provided under MIT/GPL-licenses.
Below you can find short description of new features and the bug fixes implemented in free jqGrid 4.15.0 (compared with version 4.14.1). The version is developed by Oleg Kiriljuk, alias Oleg on the stackoverflow and OlegK on trirand forum.
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 or by sending money via PayPal to email@example.com with the comment "free jqGrid". Bank transfer based on the invoice from OK soft GmbH is another option of donating. Just send the email with the information about the amount of donation and you will get the corresponding invoice with the full information about our bank account and our VAT number.
The locale file is optional. One can, but one don't need to include
grid.locale-en.min.js, because the same information is already included in the
If somebody want to test the latest version of free jqGrid, one can load it directly from GitHib using RawGit service:
All other language files and plugins are available from CDN too. See the wiki article for more details about the usage of free jqGrid from CDNs and RawGit.
Remark: the above URLs will be available after publishing the release of the version of 4.15.0.
rotateColumnHeadersallow to rotate the column headers to -90 degree. It could be practical to hold the grid compact in case of usage columns with small conent like checkboxes. Such columns could have header, which text is longer the the checkboxes. If one need to display many such columns then ratation of the column headers of such columns can essentially reduce the width od the grid and to improve the visibility. The CSS of the column resizer is changed to have better results in medern web browsers. The old Internet Explorer calculate wrong height of resizer with the new settings. The method
resetColumnResizerHeightfixs the height of column resizer in IE. It will be automatically called in
rotateColumnHeadersnear to the end. I still not sure that recalculation of the height of the resize in IE should be done in other situations. Because of that I made the method public.
formatSortOrder. The default behavior of multisorting is changed. It uses now new options by default. The option
showSortOrder: truefollows deiplaying of small 1-based index of sorting near the column header. It visualize the order of sorting columns. See the comment of the commit for more detailed information.
sortOrderPositionare added. New numeric option
maxSortColumnswith default value 3 allows to reduce the total number of column by which the grid could be sorted. It works only in case of usage
multiSortOrder: "lastClickedFirstSorted"option. If the user clicks of the 4th column header and
maxSortColumnsis 3 then the column with the 4th sorting index will be removed and the grid will be sorted by 3 columns maximal. Such behavir simplify for the user removing of sorting by unneed columns. New option
sortOrderPositionwith two allowed values
"beforeSortIcons"provides more customization possibilities. Default value is
sortOrderPosition: "beforeSortIcons"could be interesing, for example, in case of combination with
sortIconsBeforeTex. The optionmultiSortOrder
could be used as callback function additionally to the usage as"lastClickedFirstSorted"
. The callback has now only oneoptions
properties. New propertyremoveSorting
is the function, which can be used bymultiSortOrder
callback to remove some column from sorting. As I mention above, the optionmaxSortColumns
works only in case of usagemultiSortOrder: "lastClickedFirstSorted"
. If the callback want to implement close behavior it should be able to remove sorting order. In the case it can calloptions.removeSorting
function with the element ofoptions.sortNames` array as parameter.
multiselect: true. One can
noCellSelection: trueto change the default behavior of cell editing and to replace cell celection to selection of rows.
The default value of
autoencode option is changed to
autoencode: true. Such changes could have minor compatibility issue, but the comfort of usage for new users seems be more important. New setting
autoencode: true is important to prevent Cross Site Scipting (XSS) by default.
free-jqgrid.d.tsto describe more full all existing options, methods and events
rotateColumnHeadersto work on columns, which has not
sortDatacorrectly (the first parameter)
delGridRow. New options allows to display div with some information like
"Deleting..."during Ajax request to delete row(s). See the issue #365 for more details.
filterToolbarin case of currency formatter
autoencodeoption from the old value
true. Such changes could have compatibility issue, but I think that the comfort for new users is more important. New setting
autoencode: trueis important to prevent Cross Site Scipting (XSS) by default.
$.jgrid.parseDatefor better upwards compatibility. See the comment for the commit for more details.
selectOnContextMenuoption, which allows to prevent row selection on contextmenu (right mouse click). One can use the option
selectOnContextMenu: falseto prevent selection of the row on contextmenu (right mouse click) before call of
jqGridRightClickRowevent. One can still select the row, if needed, inside the callback (or inside the event) by call of
getLocalRowmethod mode safe
noCellSelection, which can be combined with cell editing
createElto prevent setting
postDataas DOM attributes
itemAnchorStyleoptions for jQuery UI menu without ancors
changeRowidmethod to refresh
_indexafter chaning of id
sortOrderPosition. Change default value of
multiSortOrderand the options of
multiSortOrdercallback. See the comment of the commit for more detailes.
indexparameter of internal
refreshIndexif one use wrong input parameters:
setFrozenColumnsmore safe (prevent exception)
setFrozenColumnsto be more safe for exceptions in case of usage
formatSortOrder. See the comment of the commit for more detailed information.
.ui-jqgrid-resizeto hold 100% height of the resizer div, adjust the code of
thisas DOM of grid in sorttype defined as function
iconproperty of input data of TreeGrid already could specify the custom class of leafs of TreeGrid. The changes allows to specify custom icons of nodes of TreeGrid too. The nodes displays one from two icons depend on the state of the node (expanded or collapsed). The
iconproperty can now specify the two icons, which need be comma separated. For example, one can use
icon: "ui-icon-folder-open,ui-icon-folder-collapsed"in case of using jQuery UI icons.
Other old readmes contain the list of the features and bug fixed implemented in previous versions of free jqGrid:
Many thanks to all, who sent bug reports and suggestions to improve free jqGrid!