free-jqgrid预定义货币格式化程序mod

时间:2018-12-14 01:50:25

标签: formatting currency free-jqgrid

我正在使用free-jqgrid 4.15.6。 我正在使用内置的货币格式化程序,可以完美格式化数字。 我在格式选项中使用前缀:“ $”,defaultValue:”。

第一次加载网格时,货币列为空的行不会在网格中显示应有的格式。

但是,在进行内联编辑后,如果没有在编辑控件中输入任何内容(表示该控件未输入任何值),则在编辑后,预定义的格式设置程序将在单元格中显示“ $”,而不是根据需要显示空白。

查看源代码free-jqgrid的代码库,我发现此函数用于设置格式化的显示:

TextResponse

我在此函数的开头添加了一个条件测试,如果要格式化的值为空字符串,则强制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预定义的当前formatter对象,或者甚至是jQuery formatter对象,但是我的所有努力都失败了。

有人可以告诉我如何添加此条件代码逻辑,以便使free-jqgrid源保持不变但覆盖jqgrid的预定义货币格式化程序吗?

1 个答案:

答案 0 :(得分:0)

我认为最好定义自己的自定义格式化程序,而不是扩展现有的格式化程序。 Guriddo jqGrid is described here

中的自定义格式化程序的定义

在free-jqGrid中应该类似。

重要的是,您还需要定义自定义的 unformat 函数。只需查看提供的文档即可。

Here,您可以确切地看到您的情况。