我在jqgrid中有一个没有正确排序的日期字段。原因是我的初始formatter:'date'
被我对formatter: function(...)
的第二次引用所覆盖。
如何保留这两项功能?
这是我的代码:
{name:'FUSInvitedDateX',hidden:true,index:'FUSInvitedDateX',width:'250',
search: true,searchoptions:{sopt:['eq','ne','lt','le','gt','ge'], dataInit:
function(elem) {$(elem).datepicker();}},sorttype: 'date',
formatter:'date',formatoptions: {srcformat: 'm/d/Y', newformat: 'm/d/Y' },
formatter: function(cellvalue, options, rowObject) { return
highlight(cellvalue, options, rowObject, ['FUSScheduledDateX','FUSCompletedDateX','InterviewStatus_DerivedX'],'interview-invite-late');}}
然后在突出显示功能中我有这样的东西:
function highlight(cellvalue,options,rowObject,compare,color) {
if (cellvalue.length==0) { return cellvalue; }
[ evaluating code ]
return '<span>' + cellvalue + '</span>';
非常感谢任何建议
答案 0 :(得分:0)
很抱歉,但是无法在一个对象中定义具有相同名称的两个属性。另一方面,您在列定义中包含了formatter
属性的两倍。这是语法错误。
即使您要删除formatter:'date'
并仅使用自定义格式化程序(formatter
回调函数),sorttype: 'date'
也无效,因为jqGrid将无法正确解析日期。
如果你真的需要使用自定义格式化程序(回调函数),那么你也应该将sorttype
定义为回调函数。您可以解析sorttype
函数内的输入字符串并将其作为ISO日期返回(如2017-06-15)。