Параметр formatter
может быть строкой, если это один из предопределенных средств форматирования, но в соответствии с jqGrid docs for custom formatters:
Вы можете определить собственное средство форматирования для определенного столбца. Обычно это функция.
Итак, jqGrid ожидает, что функция будет передана. Вот почему myFunction
работает, а "myFunction"
- нет. В любом случае, чтобы решить вашу проблему, вам нужно вывести код:
"formatter": myFunction
Чтобы углубиться, вы можете увидеть в исходном файле jqGrid
grid.base.js, что средство форматирования напрямую использует функцию, но если передается строка, эта строка передается в
$.fn.fmatter
:
formatter = function (rowId, cellval , colpos, rwdat, _act){
var cm = ts.p.colModel[colpos],v;
if(typeof cm.formatter !== 'undefined') {
var opts= {rowId: rowId, colModel:cm, gid:ts.p.id, pos:colpos };
if($.isFunction( cm.formatter ) ) {
v = cm.formatter.call(ts,cellval,opts,rwdat,_act);
} else if($.fmatter){
v = $.fn.fmatter(cm.formatter, cellval,opts, rwdat, _act);
} else {
v = cellVal(cellval);
}
} else {
v = cellVal(cellval);
}
return v;
},
Если этой функции еще нет в jquery.fmatter.js тогда я бы ожидал, что произойдет ошибка, когда сетка попытается ее использовать.
person
Justin Ethier
schedule
22.05.2012
"formatter":myFunction
, а затемmyFunction
будет вызываться, когда сетке необходимо отформатировать этот столбец. Но вы упомянули _3 _... здесь что-то еще происходит? - person Justin Ethier   schedule 23.05.2012