当前位置: 首页 > 知识库问答 >
问题:

JqGrid colMoldel格式化程序变量

濮阳和泰
2023-03-14

(版本免费jqgrid 4.13.6)

我有一些datetime列,我将其定义为{…格式化程序:“date”…},没关系。

现在,在某些情况下,根据字段值,我需要使用另一个自定义格式化程序。由于formatter:"date"是jqgrid原生的,我不知道如何解决这种情况。

示例:通常字段值是datetime,例如“2017-04-18 10:06”,这对于格式化程序来说是可以的:“date”。但是,在某些情况下,该值是一个html" target="_blank">字符串,例如“所有日期”。只有在这些情况下,格式化程序必须是“myCustomFormatter”,而不是格式化程序:“date”,因为我不想修改jqgrid本机“date”函数来考虑这种特殊情况。

共有2个答案

祝灼光
2023-03-14

您可以对如下列使用自定义格式化程序。

formatter: function(cellvalue, options, rowObject) {
    var date = new Date(cellvalue);

    if(isNaN(date.getFullYear())){
        return cellvalue;
    } else {
        return date.getDate()  + "/" + (date.getMonth() + 1) + "/" + date.getFullYear();
    }
}

演示

蓬长恨
2023-03-14

我建议您检查免费jqGrid的代码行,看看自定义格式化程序的调用和预先定义的格式化程序(如格式化程序:“日期”)之间有何区别:

...
} else if (isFunction(cm.formatter)) {
    v = cm.formatter.call(ts, cellval, opts, rwdat, act);
} else if ($.fmatter) {
    v = $.fn.fmatter.call(ts, cm.formatter, cellval, opts, rwdat, act);
} else {
...

这意味着要从自定义格式化程序调用格式化程序:“date”,只需使用

 formatter: function (cellValue, options, rowObject, action) {
     return $.fn.fmatter.call(this, "date", cellValue, options, rowObject, action);
 },
 unformat: function (cellValue, options, cell) {
     return $.unformat.date.call(this, cellValue, options.formatoptions);
 }

上面的代码只是将调用转发到格式化程序日期。看见https://jsfiddle.net/OlegKi/gq5hxtnc/.

最后,您需要在自定义格式化程序上修改上述代码,以将调用转发到格式化程序:“日期”,但不总是这样,例如,如果输入不是字符串“所有日期”。

 类似资料:
  • 有人可以分享他们的eclipse格式化程序设置文件吗?或者向我指出这样一个文件,它将阻止我的eclipse执行以下操作: 所以我只想把looooooooong代码字符串移到下一行(那些不适合eclipse窗口的字符串),但eclipse几乎对所有字符串都这么做。 提前谢谢!

  • 我正在玩我的eclipse格式化程序。 我目前被卡住,无法格式化空的新行。 我知道我可以使用CTRL+SHIFT+F。 但是我希望它在文件保存时自动发生。 下面是另一个例子 此外,我想选择是否应该在ex one结构声明后或在花括号后自动缩进为无空行。

  • 我正在使用org。日食jdt。果心格式化程序。代码格式化程序类。我对正确设置评论的格式有问题。谁能告诉我应该使用DefaultCodeFormatterConstants中的哪些选项来正确格式化注释块? 我有这样的情况: 我想把它格式化成 甚至如何格式化评论块,就像我的例子一样,这些评论根本没有格式化。

  • Hprose 序列化拥有 7 种值类型: Integer (32位有符号整型数) Long (无限精度长整型数) Double (float, double or decimal) Boolean UTF8 char (16位 Unicode 字符, UTF-8 格式, 1-3 个字节) Null Empty (空的字符串, 空的二进制数据) 4 种简单引用类型: DateTime Bytes S

  • 在CakePHP2中,我使用了这个回购协议。po翻译。但它似乎没有针对CakePHP3进行更新。因此,我运行了i18nshell,并创建了文件。然后我做了一些翻译并添加了将文件放入文件夹。 当msgstr部分为空时,显示英文单词,如果找到翻译,cakephp显示翻译版本。 但这不适用于阿拉伯语。其他语言也很好用。 在cakephp 3中,制作时如下所示: 我得到这个错误: 错误堆栈: 编辑:对于俄

  • 问题内容: 我需要在C#中创建一个SQL格式化程序。谁能指出我在网上的一些资源?我需要实现一个成熟的解析器,还是有一个更简单的方法来实现呢? 问题答案: 看一下 在C#中解析SQL代码 也看一下 SQL漂亮打印机