我希望在网格上显示日期,因为N / A在数据库中为NULL,或者以正常日期格式显示。 目前我有这个代码:
name: 'Handshake_Actual_Date', index: 'Handshake_Actual_Date', search: false,
editable:true, align: "left", width: 75, formatter: "date", formatoptions:
{newformat:"m/d/Y" },
editoptions: {
size: 20,
dataInit: function (el) {
$(el).datepicker({ dateFormat: 'mm/d/yy' });
},
defaultValue: function () {
var currentTime = new Date();
var month = parseInt(currentTime.getMonth() + 1);
month = month <= 9 ? "0" + month : month;
var day = currentTime.getDate();
day = day <= 9 ? "0" + day : day;
var year = currentTime.getFullYear();
return day + "/" + month + "/" + year;
}
}
它的效果非常好,但我想要一个如下所示的自定义格式化程序:
function myFormatter (cellvalue, options, rowObject) {
if(cellvalue==null)
{
return "N/A";
}
else
{
return $.fn.fmatter.date(cellvalue, options, rowObject);
}
}
但它不起作用..! 例如,您可以在此处查看代码:http://jsfiddle.net/35Larwva/
答案 0 :(得分:2)
尝试替换
$.fn.fmatter.date(cellvalue, options, rowObject)
到
$.fn.fmatter.call(this, "date", cellvalue, options, rowObject);
此外,我建议您使用更正确的JavaScript代码:cellvalue==NULL
应替换为cellvalue === null
,您应在语句末尾使用;
(return "N/A"
之后示例)并且最好始终对{}
和if
语句使用else
。
更新:我修复了你的jqfiddle演示,现在它可以正常工作:http://jsfiddle.net/OlegKi/35Larwva/2/