Click here to Skip to main content
Click here to Skip to main content
Go to top

jqGrid Quick Tips

, 21 Aug 2011
Rate this:
Please Sign up or sign in to vote.
jqGrid is an Open-Source control registered under the GPL and MIT licenses.
I'll use this post as a repository of quick tips so I'll be updating it on a regular basis... keep posted!

Get it!

The blog
Features
Download
Documentation
On StackOverflow

Licensing and Flavours

jqGrid is an open-source control registed under the GPL and MIT lincenses.
Basically this means that it's FREE! and you can do quite anything with it.
Read more about this here.

If you want to use the "side" versions of this control, specially wrapped and packaged for PHP, ASP.net Webforms and ASP.net MVC then you have to pay for them... but trust me when I say that all you need is on the Free package!!

See the price list here You can also access the payed versions website here. The feature set is a huge list and has a awsome comunity on Stackoverflow that reply to your questions in no time.

Columns

1. Hide a column

I'm putting this on here just because it's not the instinctive visible, it's called hidden!
colModel: [{ name: 'colName', hidden: true }]

Data

1. Refresh grid

If you need to refresh the grid from code just call:
$("#grid1").trigger("reloadGrid");
The tricky, and not to well documented part is if you want to refresh and select the disired page:
$("#grid1").trigger("reloadGrid", [{page:3}]);
This will refresh the frid and show it on page 3. With this you can refresh the current page:
var currentPage = $('#grid1').getGridParam('page');
$("#grid1").trigger("reloadGrid", [{page: currentPage }]);
You can also keep the current selection:
$("#grid1").trigger("reloadGrid", [{current:true}]);
Note that both page and selection settings can be used together.

NavBar

1. Add custom buttons to the NavBar

/* Add this line to allow advanced search using the toolbar button */
$('#grid1').navGrid('#grid1pager', { search: true, edit: true, add: true, del: true }, {}, {}, {}, { closeOnEscape: true, multipleSearch: true, closeAfterSearch: true });

/* Add this line to include a separator between buttons */
$('#grid1').navSeparatorAdd("#grid1pager", { sepclass: 'ui-separator', sepcontent: '' });

/* Add this line to include custom buttons on the toolbar */
$('#grid1').jqGrid('navButtonAdd', "#grid1pager", { caption: "", buttonicon: "ui-icon-plusthick", onClickButton: function () { alert('Exporting!!!!!'); }, position: "last", title: "Export to Excel", cursor: "pointer" })

Search

1. Show the Advanced Search dialog from an external button

function OpenSearchDialog() {
     $("#grid1").jqGrid(
          'searchGrid', { multipleSearch: true, overlay: false });
}

2. Show the filter toolbar

The filter toolbar is a bar that appears right bellow the column captions that allow filtering by each column. To make this toolbar visible use the following:
$('#grid1').jqGrid('filterToolbar', 
            { stringResult: true, searchOnEnter: false });

Selection

1. Get the ID of the selected row

$('#grid1').jqGrid('getGridParam', 'selrow')

2. Get the row data

var rowData = $("#grid1").jqGrid('getRowData', rowid);
rowid: is the id value set on the data source, NOT the index of the row. This returns an object with the column names and value like:
{name="alex", address="here and there", age=34}
so its easy then the get a value using:
var myName = rowData.name;
Be aware that the object will only have the columns configured on the colModel.Everything that may come on the datasource won't appear here. If you want to have values here that you don't want to show on the grid you must add the column to the colModel collection and set it to hidden: true

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

AlexCode
Architect
Switzerland Switzerland
Senior IT Consultant working in Switzerland as Senior Software Engineer.
 
Find more at on my blog.

Comments and Discussions

 
QuestionSample Code with all Featues. Pinmembersagar panwala24-Jul-13 7:13 
AnswerRe: Sample Code with all Featues. PinprofessionalAlexCode24-Jul-13 20:27 
GeneralRe: Sample Code with all Featues. Pinmembersagar panwala27-Jul-13 23:10 
GeneralRe: Sample Code with all Featues. PinprofessionalAlexCode28-Jul-13 7:28 
Questionregarding data Pinmembershashi kant niraj7-Jun-12 20:46 
AnswerRe: regarding data PinmemberAlexCode7-Jun-12 21:12 
QuestionAbout Sample Code Pinmemberjayendrasinh13-Dec-11 0:31 
AnswerRe: About Sample Code PinmemberAlexCode7-Jun-12 21:17 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web01 | 2.8.140921.1 | Last Updated 21 Aug 2011
Article Copyright 2011 by AlexCode
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid