After following the solution in a previous post, I have found that the jqGrid refresh after add/edit with the inlineNav using the successfunc does not work if extraparams is present.
Here's my code:
var editOptions = {    
keys: true,
successfunc: function () {
    alert('success');
    var $self = $(this);
    setTimeout(function () {
        alert('refreshing');
        $self.setGridParam({ datatype: 'json' });
        $self.trigger("reloadGrid");
    }, 500);
} 
 .jqGrid('inlineNav', {
                addParams: {
                    useDefValues: true,
                    addRowParams: 
                    {
                        editOptions,
                        extraparam: {
                                userId: function () {
                                    return currentUserId;
                                },
                                companyId: function () {
                                    return currentCompanyId;
                                }
                        }
                    }                        
                },
                editParams: {
                    editOptions
                }
I have tried different combinations of where the editOptions is placed, but no luck.