这个问题可能已经被问过很多次了,但我想知道是否可以动态更改jqgrid的单元格值?有没有办法来动态更改jqGrid的单元格值?
我基本上有一个网格,它正在通过JSon字符串加载数据。在特定列的某些行上,该值可能为“空”。因此,知道哪个行ID是一个问题,然后能够将该“空”改变为其他的。例如。将“空”更改为“不适用”。
所有帮助将不胜感激。谢谢。
这个问题可能已经被问过很多次了,但我想知道是否可以动态更改jqgrid的单元格值?有没有办法来动态更改jqGrid的单元格值?
我基本上有一个网格,它正在通过JSon字符串加载数据。在特定列的某些行上,该值可能为“空”。因此,知道哪个行ID是一个问题,然后能够将该“空”改变为其他的。例如。将“空”更改为“不适用”。
所有帮助将不胜感激。谢谢。
我不认为改变价值就是你在这种情况下真正需要的。你应该创建你自己的custom formatter。它看起来更不像是:
var nullFormatter = function(cellvalue, options, rowObject) {
if (cellValue == null)
return "Not Applicable";
else
return cellValue;
};
这只是非常基本的,简单的实现,但它应该给你一个想法。
我会建议你使用beforeProcessing
回调,它使用简单,功能强大。例如,如果你在the standard JSON format
{
"total": "xxx",
"page": "yyy",
"records": "zzz",
"rows" : [
{"id": "1", "cell": ["cell11", "null", "cell13"]},
{"id": "2", "cell": ["cell21", "cell22", null]},
...
]
}
来自服务器的数据,你可以这样做以下
beforeProcessing: function (data) {
var rows = data.rows, cRows = rows.length, row, iRow, cCol, iCol, cell;
for (iRow = 0; iRow < cRows; iRow++) {
row = rows[iRow].cell;
for (iCol = 0, cCol = row.length; iCol < cCol; iCol++) {
cell = row[iCol];
if (cell === null || cell === "null") {
row[iCol] = "Not Applicable";
}
}
}
}
你可以修改数据从服务器数据之前返回的路上将由jqGrid处理。
哪种格式具有JSON数据?你使用了一些'jsonReader'还是使用[标准格式](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#json_data)?为了能够修改JSON数据,必须知道输入数据的格式。如何发送'null':作为'null'还是''null''? – Oleg 2012-03-15 14:52:31