這可能一個誤會。 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