gpt4 book ai didi

jquery - JqG​​rid colMoldel 格式化程序变量

转载 作者:行者123 更新时间:2023-12-01 08:45:03 27 4
gpt4 key购买 nike

(免费版本jqgrid 4.13.6)

我有一些日期时间列,我将其定义为 {... formatter:"date"... },没关系。

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

示例:通常字段值是日期时间,例如“2017-04-18 10:06”,对于 formatter:“date” 来说是可以的。但是,在某些情况下,该值是字符串,例如“ALL DATES”。仅在这些情况下,格式化程序必须是“myCustomFormatter”,NOT formatter:"date",因为我不想修改jqgrid原生的"date"函数来考虑这种特殊情况。

最佳答案

我建议您检查the lines免费 jqGrid 的代码,查看自定义格式化程序和预定义格式化程序的调用之间的差异(例如 formatter: "date"):

...
} 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 {
...

这意味着要从自定义格式化程序中调用formatter:“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/ .

您最终需要做的是修改自定义格式化程序上的上述代码,以将调用转发到 formatter: "date" 并不总是如此,但例如,如果输入不是字符串“所有日期”

关于jquery - JqG​​rid colMoldel 格式化程序变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43473361/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com