2
我想在网格上显示日期为N/A,因为它在数据库中为NULL,否则为正常日期格式。 目前我有这样的代码:在JQGrid中为日期字段设置自定义格式化程序
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/
thnks!我尝试将其改为您所说的内容,但我的网格无法加载,它只是在一个框中显示加载。事实上,即使只写 返回fn.fmatter.call(this,“date”,cellvalue,options,rowObject);在没有其他的情况下,在自定义格式化程序中,不起作用 \t } – user3814961 2014-09-05 13:20:54
@ user3814961:可能有很多其他原因。加载框主要意味着您使用的JavaScript代码存在错误。例如'NULL'表示未定义的全局变量,名称为NULL,'null'表示您知道的空。您应该在调试器中启动代码,以准确查看哪个错误以及您拥有哪行代码(例如,按F12启动Developer Tools,然后启动JavaScript调试器)。例如,你可以在jqFiddle中发布你的代码(例如获取[demo](例如http://jsfiddle.net/OlegKi/35k71pmw/2/并修改它以包含你的代码))并发布链接 – Oleg 2014-09-05 13:29:10
@Oleg你能请看看这个问题。谢谢[链接] http://stackoverflow.com/questions/25694281/jqgrid-how-to-add-a-edittype-checkmark-that-posts-date-to-column – NewHistoricForm 2014-09-05 21:37:47