我想用'NULL'替换网格中的空白值。我已经读过,在jqGrid中,数据中的空值默认显示为空单元格。根据特殊要求,我需要将这些空白值格式化为“NULL”。
我发现这个相关的post尝试相反 - 用空值替换'NULL'。如果单元格值是undefined或isNull,我使用该代码将cellvalue设置为'NULL'而不是''。但是当我运行代码时,网格永远不会加载。我只是得到“loading ...”消息框,它从不加载任何数据。
以下是我使用的代码:
var nullFormatter = function(cellvalue, options, rowObject) {
if(cellvalue === undefined || isNull(cellvalue)) {
cellvalue = 'NULL';
}
return cellvalue;
}
$("#grid").jqGrid({
....
colModel: [{
label: 'Name',
name:'name',
index:'name',
formatter:nullFormatter
}, {
label: 'Next Column',
name:'nextCol',
index:'nextCol',
formatter: nullFormatter
}, ...],
....
}
提前致谢。
答案 0 :(得分:0)
当jQGrid为其中一个单元格收到null
值时,它实际上将HTML实体:
放在单元格中。
因此,这是您更新的自定义格式化程序功能应如下所示:
var nullFormatter = function(cellvalue, options, rowObject) {
// if cellvalue is OR a single space
if(cellvalue == " " || cellvalue == " ") {
cellvalue = 'NULL';
}
return cellvalue;
}
答案 1 :(得分:0)
您可以尝试在if中添加一个条件来检查该值是否等于n#34; null"好像它是这样的字符串:
var nullFormatter = function(cellvalue, options, rowObject) {
if(cellvalue === undefined || isNull(cellvalue) || cellvalue == 'null') {
cellvalue = 'NULL';
}
return cellvalue;
}
答案 2 :(得分:0)
请使用此代码。它的工作..似乎" isNull(cellvalue)"功能不起作用。而不是这个 var nullFormatter = function(cellvalue,options,rowObject){}, 尝试函数nullFormatter(cellvalue,options,rowObject){
function nullFormatter(cellvalue, options, rowObject) {
if (cellvalue === undefined || cellvalue === 'null' || cellvalue === 'NULL' || cellvalue === null) {
cellvalue = '-';
}
return cellvalue;
}
colModel:[ { name: 'taskStatus', index: 'taskStatus', template: gridTextareaTemplate, formatter: nullFormatter }]