Найти не работает, если форматирование даты выполняется в пользовательском форматировщике в jqgrid

Я выполняю форматирование даты, расширяя fmatter jqgrid в моем собственном форматере. Если мне это нравится, функция «Найти» не работает. Ниже приведен пример colModel и пользовательской функции форматирования.

colModel = {name:currentLevelInDate, label:"Period Beginning (GMT)", index:currentLevelInDate,sorttype: "date",datefmt: datefmt, formatter:"formatDate",
unformat: 'unformatDate', formatoptions: { newformat:newFormat, srcformat:srcFormat}}

formatDate : function(cellvalue, opts, rowObject) {
...
...
var op = $.extend({}, $.jgrid.formatter.date);
if(opts.colModel.formatoptions != undefined) {
    op = $.extend({}, op, opts.colModel.formatoptions);
}

cellDisplayValue = $.fmatter.util.DateFormat(op.srcformat,cellvalue,op.newformat,op);
....

return cellDisplayValue;
}

person Sumana    schedule 06.02.2013    source источник


Ответы (1)


Вы должны опубликовать более полный код, который вы используете. Например, вы используете переменные datefmt, newFormat, srcFormat, но не включаете определения переменных.

Одна явная ошибка в вашем коде заключается в использовании имен функций в виде строк:

formatter: "formatDate"

вместо использования в качестве переменных: formatter: formatDate. Синтаксис formatter: "formatDate" будет правильным только в том случае, если formatDate было определено как свойство объекта $.fn.fmatter. Если вы сделаете это, вы должны включить полный код, который точно показывает, что вы делаете. В вашем коде нельзя найти ошибку, если вы публикуете только те фрагменты кода, где вы подозреваете наличие ошибки. Лучше всего было бы опубликовать полный код, который можно было бы использовать для воспроизведения вашей проблемы.

person Oleg    schedule 06.02.2013