Это, вероятно, недоразумение. Интерфейс custom formatter определяется jqGrid. Чтобы иметь дополнительные параметры в пользовательском форматировании, вам нужно изменить исходный код jqGrid.
Хорошей новостью является то, что вам не нужно распространять стандартный формат . Вместо этого вы хотите, вероятно, просто поделиться кодом. Таким образом, вы можете определить общий код, как функции, как
function imageLinkFormatter(cellval, options, rowObject, icon, link_class, link_action) {
var img = '<span class="ui-icon ' + icon + ' icon"><span/>';
var link = '<a href="#' + link_action + '/id/' + rowObject.id + '" class="' +
link_class + '" rel="' + rowObject.id + '">' + img + '</a>';
return link;
}
и вызвать функцию из пользовательского форматировщика различных столбцов сетки с дополнительными параметрами.
colModal: [
{name: 'col1', formatter: function (cellvalue, options, rowObject) {
return imageLinkFormatter(cellvalue, options, rowObject,
'ui-icon-pencil', 'edit-link-class', 'Edit');
}},
{name: 'col2', formatter: function (cellvalue, options, rowObject) {
return imageLinkFormatter(cellvalue, options, rowObject,
'ui-icon-plus', 'add-link-class', 'Add');
}},
{name: 'col2', formatter: function (cellvalue, options, rowObject) {
return imageLinkFormatter(cellvalue, options, rowObject,
'ui-icon-trash', 'del-link-class', 'Delete');
}},
...
]
Это то, что вы хотите?
Спасибо за ответ и объяснение, я думал, что я должен расширить собственный форматер, но это идеальное решение. С уважением – stawek
@stawek: Добро пожаловать! – Oleg