我在jqgrid中有一个列应该处理日期信息,实际上我对这个列有很多问题:
1-从后端返回日期并显示如下29/03/2017 00:00:00
...所以当我尝试使用这样的格式化程序:formatter: "date", formatoptions: { newformat: "d-M-Y" }
时,日期会被破坏并且完全不同日期显示为09-Aug-2033
2-当我尝试添加日期选择器搜索时,它什么也没做,我的意思是根本没有进行过滤,网格数据保持不变,无论如何我使用上面的格式化程序
其实我依赖的是Oleg的例子here
经过一些修改后我的代码:
{
name: 'F_GCEO_MEETING_DATE',
index: 'F_GCEO_MEETING_DATE',
align: 'left',
width: 100,
sortable: true,
search: true,
editable: false,
cellEdit: false,
formatter: "date",
formatoptions: {
newformat: "d-M-Y"
},
editoptions: {
dataInit: function(elem) {
$(elem).datepicker({
dateFormat: "dd-M-yy",
buttonImageOnly: true,
buttonText: "Select date",
autoSize: true,
changeYear: true,
changeMonth: true,
showButtonPanel: true,
showWeek: true,
onSelect: (function() {
setTimeout(function() {
this.triggerToolbar();
}, 0);
})
});
}
},
searchoptions: {
sopt: ["eq", "ne", "lt", "le", "gt", "ge"],
attr: {
placeholder: "dd-M-yyyy"
},
dataInit: function(elem) {
$(elem).datepicker({
dateFormat: "dd-M-yy",
buttonImageOnly: true,
buttonText: "Select date",
autoSize: true,
changeYear: true,
changeMonth: true,
showButtonPanel: true,
showWeek: true,
onSelect: (function() {
setTimeout(function() {
this.triggerToolbar();
}, 0);
})
});
}
}
}
jquery版本:1.9.1
jqGrid版本:4.5.0
关于fork,我不确定,它实际上是liferay库的一部分,但似乎是免费版本。
这与my previous question有关,但有更多细节和不同要求
答案 0 :(得分:1)
您需要指定进入日期的来源格式 - 默认为ISO数据,如Y-m-d。所以这要工作,你需要设置像这样的srcformat选项:
{
name: 'F_GCEO_MEETING_DATE',
index: 'F_GCEO_MEETING_DATE',
align: 'left',
width: 100,
sortable: true,
search: true,
editable: false,
cellEdit: false,
formatter: "date",
formatoptions: {
srcformat : "d/m/Y H:i:s",
newformat: "d-M-Y"
},
至于第二个问题,我想你使用工具栏搜索,你可以在Guriddo jqGrid Knowledgebase
中使用这个论坛帖子