jqGrid将rowData作为字符串返回

时间:2014-02-08 09:37:28

标签: jquery-plugins jqgrid jqgrid-formatter

我有jqGrid的本地数据,我为布尔列制作自定义格式化程序。像

这样的东西
var boolFormatter = function (cellvalue, opt, rowObj) {
  if (cellvalue == null) return "";
  return (cellvalue == true)
    ? return "Yes"
    : return "No";
}

我的colmodel喜欢

var colmodel = [
 {index: id, name: id, hidden: true}
 {index: someProperty, name: someProperty, formatter: boolFormatter}
]

问题是当我为对象调用rowData时,我得到字符串值,即

var rowData = grid.getRowData(1);
var value = rowData["someProperty"]; 

< =这将返回“是”,“否”或“”而不是true,false或null。

我知道这是内容值,jqGrid有内部数据存储,我相信所有数据都以正常(真,假,值)格式存储。

请帮忙,我怎样才能把它们当成bool。提前谢谢!

1 个答案:

答案 0 :(得分:0)

在功能boolFormatter中,您在""时返回值cellvalue == null,在return "Yes" : return "No"时返回值cellvalue == true。这就是您获得string值的原因。

使用以下

更新您的代码
var boolFormatter = function (cellvalue, opt, rowObj) {
    if (cellvalue == null) {
       return null;
    } else {
       return (cellvalue == true) ? return true : return false;
    }
}