在jqgrid-4.8中,如果我使用rowObject
,则在第一页中获得rowObject.name
的值未定义,而在下一页中接收到的值。如果我使用rowObject[0]
,则rowObject
的值是从第一页的单元格中获取的,而不是从后续页面中的单元格获取的。请帮助解决此问题。
{name:'snp',index:'snp', width:100, align:"center"},
{name:'chr',index:'chr', width:100, align:"center"},
{name:'pos',index:'pos', width:100, align:"center"},
{name:'calls',index:'calls',width:120,align:"center",sortable:false,formatter:function(cellvalue, options, rowObject){ return '<a href="http://localhost/var/sub1.php?id='+rowObject.snp+'&chr='+rowObject.chr+'&pos='+rowObject.pos+'" target="_blank"><font color="0000FF">view</a>';} }
如果我使用rowObject[0]
和rowObject[1]
也不完全起作用,则它在第一页上起作用,而不在下一页上起作用。它显示单元格值未定义
答案 0 :(得分:0)
您描述的问题是旧的。如果使用项目数组作为输入数据,则旧版本的jqGrid很难编写自定义格式程序,在该格式程序中,您必须从另一列访问数据。 the old answer中描述的简单技巧可以编写相应的代码。最好不要使用$.isArray
方法来代替Array.isArray
。
如果使用免费的jqGrid,则可以更轻松地解决问题。我没有更改自定义格式化程序的3-d参数(rowObject
)的格式,但是我将rowData
属性添加到了options
选项中,并带有 named 数据。因此,您可以在免费的jqGrid中使用以下代码:
formatter: function (cellvalue, options) {
var item = options.rowData;
return '<a href="http://localhost/var/sub1.php?id=' +
item.snp + '&chr=' + item.chr + '&pos=' + item.pos +
'" target="_blank"><font color="0000FF">view</a>';
}
此外,我强烈建议您使用免费版本的jqGrid的最新版本(4.15.4或可能是4.15.5),而不要使用不支持的复古版本4.8。