Прежде всего ответ на ваш правильный вопрос. Если вы определите в файле functions.js некоторую глобальную переменную, например, myGlobal
:
myGlobal = {};
myGlobal = serializeGridData: function(postData) {
// ... here is the implementation
};
вы можете использовать его в другом файле JavaScript, который должен быть включен после functions.js файла:
serializeGridData: myGlobal.serializeGridData
(просто используйте такой параметр в определении jqGrid).
Если вы хотите использовать параметр serializeGridData
со значением в большинстве ваших jqGrids, вы можете заменить значение по умолчанию serializeGridData
в файле functions.js :
jQuery.extend(jQuery.jgrid.defaults, {
datatype: 'json',
serializeGridData: function(postData) {
// ... here is the implementation
},
loadError: function(xhr, msg, e) {
showMessage('errmsg');
}
});
В примере я переписываю дополнительно значение по умолчанию datatype: 'xml'
jqGrid для параметра datatype: 'json'
. Это показывает, что вы можете установить значения по умолчанию для любого параметра jqGrid.
Мне кажется, что вам действительно нужно использовать параметр prmNames jqGrid для переименования некоторых имен по умолчанию стандартных параметров jqGrid. Например с
prmNames: {
rows:"recordLimit",
sort: "sort_fields",
search:null,
nd:null
}
Вы переименовываете стандартный параметр rows
в recordLimit
, параметры sidx
в sort_fields
и удаляете параметры _search
и nd
для отправки.
Кроме того, вы можете использовать postData
с некоторыми свойствами, определенными как функция (подробности см. здесь ). Например:
postData: {
SessionID: function() {
return $('#eSessionID3').val();
},
rowDataAsObjects: false,
queryRowCount: true,
dataType: 'data',
recordOffset: function() {
var pd = jQuery("#list2")[0].p.postData;
return pd.recordLimit * (pd.page - 1);
},
json: function() {
var pd = jQuery("#list2")[0].p.postData;
return {
SessionID: $('#eSessionID3').val(),
dataType: 'data',
recordOffset: pd.recordLimit * (pd.page - 1),
rowDataAsObjects: false,
queryRowCount: true,
sort_fields: pd.sort_fields
};
}
}
Я использовал здесь оба параметра json
, которые вы используете в данный момент, и добавьте такие параметры, как SessionID
, queryRowCount
и т. Д. Непосредственно в список параметров, которые будут отправлены. Конечно, достаточно отправить только один путь (либо json
, либо остальные), чтобы отправить дополнительную информацию, которая вам нужна.