~~DISCUSSION~~ ====== How to Install ====== Installation of jqGrid is just a matter of copying the files and folders to your web server or development directory. Once you've downloaded the [[:wiki:download |needed packages]], you can continue with the installation. If you're a normal user of jqGrid, you should complete the Basic Installation below, which installs all the files needed to use jqGrid. If you want access to the jqGrid source code to find bugs and make improvements, complete the Basic Installation first, and then perform the additional steps in the Development Installation section below. ===== Basic Installation ===== Step 1: Unpack the jqGrid and UI Theme zip files to a temporary folder. Step 2: Create a directory on your web server to hold the jqGrid files and folders. For example: http://myserver/myproject/ where //myproject// is the name that you have created. Step 3: Under the myproject folder, create two additional directories named **js** and **css** Step 4: Copy the file ui-jqgrid.css from css directory of the jqGrid package to css directory of the new created directory myproject. Important: Be careful you don't accidentally copy the file ui-jqgrid.css from src/css directory of the package Step 5: Copy all the files and directories from js directory of jqGrid package to the js directory in myproject. Step 6: Copy all the files and directories from css directory of the UI Theme package to the css directory in myproject. (In the example below, the ui "lightness" theme is used. If you choose a different theme, you'll have a different folder name). After these six steps, you should have the following file & folder structure: * /myproject/css/ * ui.jqgrid.css * /ui-lightness/ * /images/ * jquery-ui-1.7.2.custom.css * /myproject/js/ * /i18n/ * grid.locale-bg.js * list of all language files * .... * Changes.txt * jquery-1.4.2.min.js * jquery.jqGrid.min.js Using your favorite editor, create a file named myfirstgrid.html and place the following code: My First Grid ... Save this file in myproject directory. Code Explanation: In the code above, the first stylesheet loads the CSS code for the UI theme selected ("lightness" in this example). The second stylesheet loads the CSS settings for jqGrid itself. Below the stylesheets are three javascript files: the first one is JQuery, the second is the jqGrid language localization file, (English, -en in this example), and finally the actual minimized jqGrid file. Using DOCTYPE declaration at the beginning of the page is recommended. Of course you can use another type depending on your needs. In your code, it's important that the language locale JS file gets loaded before the jqGrid .js file, or else your grid might not work correctly. If your grid loads data but doesn't have any formatting, it's a good idea to troubleshoot the .js and .css files to make sure you have the right ones, and that they're working correctly. That's all! You are ready to use jqGrid. Note: There is one additional recommended adjustment: Since the jQuery UI Themes have different font sizes it is a good idea to reduce the font size to make everything uniform. This can be done by adding a style tag just below the stylesheet file references, as shown below. Your final code will look like this: My First Grid Now you are ready to ready to learn [[:wiki:how_it_works |how it works.]] ===== Development Installation ===== If you choose the development installation, your version of jqGrid will be using uncompressed source code rather than minimized production code, for easier reading. There are two types of development installation as of version 4.0 **Development installation after 4.x versions** \\ This type of installation is easy. It require only to change the file name from //jquery.jqGrid.min.js// to j//query.jqGrid.src.js//. Actually the jquery.jqGrid.src.js is one file which contain all the files in one not compressed file. The location of the file is in the js folder where the compressed jquery.jqGrid.min.js is. This type of installation can look like this: My First Grid **Development installation prior to version 4.0.0 and in case if you download the code from GitHub** Also, the source code is split into a number of different files, one for each jqGrid module. This also makes it easier to find a particular piece of code. Once you've copied the files and folders as described in the basic installation above, you should copy the jqGrid source files to complete the development installation. Copy the entire src directory from the jqGrid package in js directory to the src directory within your project folder. After doing so, your structure should look like this: * /myproject/css/ * ui-jqgrid.css * /ui-lightness/ * /images/ * jquery-ui-1.7.2.custom.css * /myproject/js/ * /src/ * /i18n/ * grid.locale-bg.js * list of all language files * .... */css/ * ui-jqgrid.css * grid.base.js * grid.celledit.js * grid.common.js * grid.custom.js * grid.filter.js * grid.formedit.js * grid.import.js * grid.inlinedit.js * grid.loader.js * grid.jqueryui.js * grid.subgrid.js * grid.tbltogrid.js * grid.treegrid.js * jqDnR.js * jqModal.js * jquery.fmatter.js * JsonXml.js * jquery-1.4.2.min.js Next, open the grid.loader.js file and change the pathtojsfiles variable to "js/src/". This will cause your version of jqGrid to use the source code version of the files rather than the minimized production files. The code should look like this: function jqGridInclude() { var pathtojsfiles = "js/src/"; // need to be ajusted // set include to false if you do not want some modules to be included var modules = [ { include: true, incfile:'i18n/grid.locale-en.js'}, // jqGrid translation { include: true, incfile:'grid.base.js'}, // jqGrid base { include: true, incfile:'grid.common.js'}, // jqGrid common for editing { include: true, incfile:'grid.formedit.js'}, // jqGrid Form editing { include: true, incfile:'grid.inlinedit.js'}, // jqGrid inline editing { include: true, incfile:'grid.celledit.js'}, // jqGrid cell editing { include: true, incfile:'grid.subgrid.js'}, //jqGrid subgrid { include: true, incfile:'grid.treegrid.js'}, //jqGrid treegrid { include: true, incfile:'grid.custom.js'}, //jqGrid custom { include: true, incfile:'grid.tbltogrid.js'}, //jqGrid table to grid { include: true, incfile:'grid.import.js'}, //jqGrid import { include: true, incfile:'jquery.fmatter.js'}, //jqGrid formater { include: true, incfile:'JsonXml.js'}, //xmljson utils { include: true, incfile:'grid.filter.js'} // search Plugin ]; var filename; for(var i=0;i Then, in your html file, change the javascript and CSS file include paths so they match the code below: My First Grid ... That is all! You are ready to debug and improve jqGrid. Click [[:wiki:how_it_works|here]] to learn how jqGrid works.