Released 2009-02-15
Bug Fixes
- Clear button in filterGrid: now when the clear button is clicked, any default values to be posted to the server are passed as the key, not the value
- Checkbox in form edit: now we correctly post the unchecked value
- Caption when reloading the grid: fixed bug in FireFox
- saveRow (inlinedit): when posting non-editable empty hidden fields
- GridUnload and GridDestroy now remove the modals from formediting if they are present
- setCell: attribute fix
- onSelectCell now works with multiselect = true
- select in createEl function: corrected multiple bugs and size properties
- pager buttons: fixed bug when they have attr disabled
- edittype select in inline edit now works
- setRowData/getRowData methods: fixed problem in IE7 when jQuery 1.3.1 is used
- datatype "clientSide" now fixed
- Sorting data where the colname containS a dot now works
- Reading data containing &,>,<," now works
- Saving edited data containing <,>,&," now works
- Restoring a row in celledit now works
- SearchGrid events beforeShowSearch, afterShowSearch and onInitializeSearch now work
- Grids can now be used with other js libraries, like prototype (bug in grid.common.js has been fixed)
- With inline editing and the grid is enclosed in a form element, saving a row with the Enter key now works
- Formatter now works with local data sorting and sorttypes when data is 'local' (bugs in the beta versions now fixed)
- Code optimizations and other minor fixes
Treegrid
- Sorting an expanded column now works
- Support for json in TreeGrid now works
- setRowData method is now compatible with treeGrid
Additions & Changes
New Modules
- grid.import.js: jqGrid import/export module
- json2.js: json utilities used in import/export module
- JsonXml.js: xml/json utilities used in import/export module
- jquery.fmatter.js: jqGrid formatter (thanks to Joshua Burnett)
All of these modules are included, by default, in the new version of jquery.jqgrid.js. If you don't need them, you will have to make adjustments there.
Enhancements to Existing Modules
- Added parameters in colModel: formatter and formatoptions. Supports custom and predefined cell formatting (links, checkboxes, email, numbers, currency, date, and select).
- Added two methods jqGridImport and jqGridExport to dynamically load the grid configuration and data from xml, xmlstring, or jsonstring.
- Added parameter scroll (boolean, default false) to create dynamic scrolling grids. When enabled, the pager elements are disabled and we can use the vertical scrollbar to load data.
- Added parameter scrollrows (boolean, default false). When enabled, on navigating to a hidden row the grid scrolls so the selected row becomes visible.
- Added parameter label to colModel to set the header for a column in the grid. The order of priority for determining the name of the column is the colNames array; the label property in colModel, the name property in colModel.
- Added parameter multiboxonly (boolean, default false). This option implements Yahoo-style row selection to multiselct grids. When set to true, a row is selected only when the checkbox is clicked.
- Added 5th parameter to setCell method - an array of attribute properties for the cell.
- Removed default title that shows when we mouseover the column. This allows changing the title dynamically. Typically this can be used in afterInsertRow event using the new parameter in setCell method (see above).
- The loadui option "block" now can be configured to display a loading.gif (changes in the css)
- The second parameter in getCell, iCol, now can be not only the index of the col, but the name.
- When using json data with named values (i.e. the repeatitems option is false) we can use dot notation and index notation
- Inline editing now supports client side validation
- When saving with inline editing, we can now set the url (or editurl) parameter to 'clientArray' so that the data is not posted to the server but is saved only to the grid (presumably for later manual saving).
- Added option prmNames (array). This array allows changing the names of the parameters posted to the server.
- The select values in an editing module can now be set as an array as well as a string.
- Added a second parameter to setSelection: onselectrow (boolean, default true). If set to false, the onSelectRow is not launched
- When multiselect is set and we use onRightClickRow the row is not selected.
- added 4th parameter to setLabel: an attribute array to set attribute properties for the element
- In editing modules, when a field is not required but other validation or checking is provided, there is no alert message when the data is empty.
- jQuery 1.3.1 support
SubGrids
- Added method expandSubgridRow(rowid): dynamically expand the subgrid row with the id = rowid
- Added method collapseSubGridRow(rowid): dynamically collapse the subgrid row with the id = rowid
- Added method toggleSubGridRow(rowid): dynamically toggle the subgrid row with the id = rowid
- Added methods subGridJson(json, sid) and subGridXml(xml, subid)
- Added property subgridtype to allow loading subgrid as a service.
Tree-Grid
- Tree grid now supports Adjacency model
CSS: Themes
Thanks to Joshua Burnett (josh@9ci.com) we now have a Steel theme
Other changes have been made to the CSS files; if you use them just as they come, all you need to do is install the new ones over your old ones. But if you have modified your copies, then you may prefer to implement the following changes individually:
.GridHeader { display:none;}
should be replaced with .GridHeader {}
-
div.loadingui
should be replaced withdiv.loadingui {
display:none;
z-index:6000;
position:absolute;
}
- new item should be added
div.loadingui div.msgbox {
position: relative;
z-index:6001;
left: 35%;
top:45%;
background: url(images/loading.gif) no-repeat left;
width: 100px;
border: 2px solid #B2D2FF;
text-align: right;
height: auto;
padding:2px;
margin: 0px;
}
These changes replace the original red "Loading" message at the upper left of the grid with a new cleaner message and animated icon in the middle of the grid. To make this work, copy the loading.gif from image directory of the new version to the appropriate place. This appears, of course, only when you have loadui:"block" in the grid configuration.