jqGrid navigator - how to specyfy settings globally?

3.9k Views Asked by At

I'm using Navigator with jqGrid and I'm repeating over and over settings such as:

savekey: [true, 13],
closeOnEscape: true,
closeAfterAdd: true

How can I define these settings globally to all my grids on current page?

I know how to specyfiy jqGrid settings globally, but I have problems with Navigator. My sample Navigator definition looks like this:

    $("#dictionaryElementsGrid").navGrid(
        "#dictionaryElementsPager",
        {
            search: false,
            edit: true,
            add: true,
            del: true
        },
        {
            // Edit options:
            savekey: [true, 13],
            closeOnEscape: true,
            closeAfterEdit: true
        },
        {
            // Create options:
            savekey: [true, 13],
            closeOnEscape: true,
            closeAfterAdd: true
        }
    );
1

There are 1 best solutions below

3
On BEST ANSWER

The object jQuery.jgrid.edit is responsible for the default setting of Add and Edit forms, so you can include in your common JavaScript code the following:

jQuery.extend(jQuery.jgrid.edit, {
    savekey: [true, 13],
    closeOnEscape: true,
    closeAfterEdit: true,
    closeAfterAdd: true,
    recreateForm: true
});

The recreateForm:true option is another option which I recommend you to use if you use some events in the Edit or Add form.

Another settings jQuery.jgrid.nav, jQuery.jgrid.del, jQuery.jgrid.view and of course jQuery.jgrid.defaults can be also helpful and can be used in the same way as jQuery.jgrid.edit above. For example,

jQuery.extend(jQuery.jgrid.nav, {search: false});

The settings edit:true, add:true, del:true are already default (see the source code of navGrid)