更新 我在使用自定义格式化程序指向数据时遇到问题。
我正在使用 jqgrid 的自定义格式化程序。
function myformatter ( cellvalue, options, rowObject )
{
....
现在,我的自定义格式化程序似乎总是指向grid 的最后一行。事实上,如果我得到rowObject[0]
,例如,我有我的网格的 [column 0, last row] 的值。为什么?
网格的数据已正确编译,并且我已经检查了 Json 对象内容。
这是我的自定义格式化程序:
......
{ name: 'act', index: 'Detail', width: 50, sortable: false, search: false,
formatter: function (cellvalue, options, rowObject) {
i = options.rowId;
var tst = '<a class="nau" name="nau" onClick="alert(i);return false;" href="#"></a>';
var det = '<a class="det" name="det" onClick="alert(this.name);return false;" href="#"></a>';
return tst + det;
}
}
....
更新
我注意到如果我直接返回我想要的字符串,格式化程序工作正常(例如return rowObject[0]
工作正常),而我在使用 variables 时遇到问题。此外,如果我尝试这样做,onclick=alert(rowObject[0])
我会得到一个例外rowObject
,说不存在。我认为这是问题所在:如果我设置t = rowObject[0]
,则格式化程序t
用作静态变量,而不是为每一行更新它。如果我设置相同i = options.rowId
,哪里i
仍然是静态的......为什么?我该做什么?