Я использую jqGrid для отображения данных, где некоторые поля могут быть пустыми в базе данных. При наличии нулей, я получаю ошибку, Ссылка на объект не установлена в экземпляр объекта.Ошибка jqGrid, когда данные равны нулю
Я добавил код для изменения нуля в строку, как показано ниже, но не отображается jqGrid:
<script type="text/javascript">
$(document).ready(function() {
$('#list').jqGrid({
caption: "MM",
url: '@Url.Action("GetAll", "Grid")',
datatype: 'json',
jsonReader: {
root: "Rows",
page: "Page",
total: "Total",
records: "Records",
repeatitems: true,
id: "Id",
cell: "RowCells"
},
mtype: 'POST',
colNames: ['Serial'],
colModel: [
{
name: 'Serial', index: 'Serial', align: 'center', width: 60, formatter: nullformatter
}
],
pager: $('#pager'),
rowNum: 10,
rowList: [10, 20, 50, 100],
sortname: 'Id',
sortorder: 'desc',
viewrecords: true,
altRows: true,
shrinkToFit: false,
width: '1041',
height: 'auto',
hidegrid: false,
direction: "rtl",
gridview: true,
rownumbers: true,
footerrow: true,
loadComplete: function() {
$("tr.jqgrow:odd").css("background", "#E0E0E0");
},
loadError: function (xhr, st, err) {
jQuery("#rsperror").html("Type: " + st + "; Response: " + xhr.status + " " + xhr.statusText);
}
})
var nullformatter = function (cellvalue, options, rowobject) {
alert('cell value==>>' + cellvalue);
if (cellvalue == undefined || isnull(cellvalue) || cellvalue == 'NULL' || cellvalue.trim().length == 0) {
cellvalue = ' ';
}
return cellvalue;
};
})
</script>
Возможно, причина в использовании функции isnull? Нет стандартной функции JavaScript 'isnull'. Вы каким-то образом определили его? Вы должны попытаться удалить часть '|| isnull (cellvalue) 'или просто заменить тело на' return cellvalue == null || cellvalue === "NULL"? "": cellvalue; 'Test_ cellvalue == null' совпадает с' cellvalue === null || cellvalue === undefined'. – Oleg
@Oleg Я использую его, но не работаю –
@ О моей функции не вызывать по форматированию. –