This is an old revision of the document!
Table of Contents
HOW TO jqGrid common solutions
Allow FireFox to work with RTL (Right To Left) languages
jqGrid support fully FireFox versions 3.x and Internet Explorer versions >=6. The default settings in FireFox are not compatible with RTL. In order to change this:
- In the url bar in FireFox type about:config and confirm the alert dialog.
- In the Find bar type layout.scrollbar.side
- Double click on it and change the value from 0 to 1
Configuring jqGrid to use only the new API
This should be done in the installation procedure following these steps:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>My First Grid</title> <link rel="stylesheet" type="text/css" media="screen" href="css/ui-lightness/jquery-ui-1.7.1.custom.css" /> <link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" /> <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script> <script src="js/i18n/grid.locale-en.js" type="text/javascript"></script> <script type="text/javascript"> jQuery.jgrid.no_legacy_api = true; </script> <script src="js/jquery.jqGrid.min.js" type="text/javascript"></script> </head> <body> ... </body> </html>
Note the callling of
<script type="text/javascript"> jQuery.jgrid.no_legacy_api = true; </script>
This line should be after the language file and before the jqGrid JS file
Configuring jqGrid to use build JSON.parse for browsers that support it
At the time of this writing, three major browsers already include support for native JSON parsing: IE8, Firefox 3.5, and Chrome 3.
This should be done in the installation procedure following these steps:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>My First Grid</title> <link rel="stylesheet" type="text/css" media="screen" href="css/ui-lightness/jquery-ui-1.7.1.custom.css" /> <link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" /> <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script> <script src="js/i18n/grid.locale-en.js" type="text/javascript"></script> <script type="text/javascript"> jQuery.jgrid.useJSON = true; </script> <script src="js/jquery.jqGrid.min.js" type="text/javascript"></script> </head> <body> ... </body> </html>
Note the callling of
<script type="text/javascript"> jQuery.jgrid.useJSON = true; </script>
This line should be after the language file and before the jqGrid JS file.
Note that this does not affect browsers that do not support this function - i.e if the broser does not support it we use eval to parse the request.
Replace the jqGrid eval with JSON.parse when we use JSON response
In case if you want to use the JSON.parse provided from here you can do the following
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>My First Grid</title> <link rel="stylesheet" type="text/css" media="screen" href="css/ui-lightness/jquery-ui-1.7.1.custom.css" /> <link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" /> <script src="js/json2.js" type="text/javascript"></script> <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script> <script src="js/i18n/grid.locale-en.js" type="text/javascript"></script> <script src="js/jquery.jqGrid.min.js" type="text/javascript"></script> <script type="text/javascript"> jQuery.extend(jQuery.jgrid,{ parse:function(jsstring) { return JSON.parse(jsstring); } }); </script> </head> <body> ... </body> </html>
Where the json2.js is the file downloaded from link provided above
Discussion
Hi, i'm new in jqgrid. I've tried client side sorting with server side paging. While the server-side paging worked fine, the sorting didn't. When i try to sort the data disappears. Any ideas?
Hi, Is there any possibility to disable a row in jqGrid?