Free-JQGrid предопределенный мод форматера валюты - PullRequest
0 голосов
/ 14 декабря 2018

Я использую free-jqgrid 4.15.6.Я использую встроенный форматер валюты, который отлично форматирует числа.Я использую префикс: '$', defaultValue: '' в форматах.

При первой загрузке сетки строки, столбцы валют которых пусты, не показывают форматирование в сетке, как должно быть.

Нопосле встроенного редактирования, когда ничего не было введено в элемент управления редактирования (то есть элемент управления не имеет введенного значения), после редактирования предопределенный модуль форматирования отображает «$» в ячейке, а не пустой, как требуется.

Глядя на исходную кодовую базу free-jqgrid, я вижу, что эта функция используется для установки форматированного отображения:

   var insertPrefixAndSuffix = function (sOutput, opts) {
    // Prepend prefix
    sOutput = (opts.prefix) ? opts.prefix + sOutput : sOutput;
    // Append suffix
    return (opts.suffix) ? sOutput + opts.suffix : sOutput;
},

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

var insertPrefixAndSuffix = function (sOutput, opts) {

    // return empty string if no cellvalue
    if(sOutput == '') { return ''; }

    // Prepend prefix
    sOutput = (opts.prefix) ? opts.prefix + sOutput : sOutput;
    // Append suffix
    return (opts.suffix) ? sOutput + opts.suffix : sOutput;
},

Однако это редактирование, хотя и работает для меня, НЕ является правильным способом выполнения этой работы.Я знаю, что вместо этого я должен расширять предопределенный объект форматирования тока jqGrid или, может быть, даже объект форматирования jQuery, но все мои усилия потерпели неудачу.

Может кто-нибудь сказать мне, как добавить эту условную логику кода, чтобы я мог сохранить исходный код free-jqgrid неизменным, но переопределить предопределенный форматер валют jqgrid?

1 Ответ

0 голосов
/ 16 декабря 2018

Я думаю, что будет лучше определить свой собственный форматер, чем расширять существующий.Определение пользовательского форматера в Guriddo jqGrid описывается здесь

Это должно быть похоже на free-jqGrid.

Важное замечание: вам нужно определить пользовательскую функцию unformat .Просто посмотрите в предоставленные документы.

Здесь вы можете точно увидеть ваш случай.

...