jqGrid.getLocalRow(rowId)和jqGrid.getRowData(rowId)返回不同的行

时间:2014-05-13 12:19:30

标签: jquery jqgrid

我正在使用带有本地数据的jqgrid。 例如,在选择行时,我会进行以下处理:

onSelectRow : function (rowId) {
   var localRow = $grid_selector.getLocalRow(rowId);
   var rowData = $grid_selector.getRowData(rowId);

   console.log(localRow.customer_id == rowData.customer_id)   
}

预期输出为true,但我得到false。有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:0)

看到这个...... jqGrid Methods

  

getLocalRow

     

当数据类型为local

时,返回存储在data参数中的本地数组的行数据      

<强> getRowData

     

返回一个数组,其中包含所请求的id = rowid的数据。返回的数组的类型为name:value,其中name是colModel中的名称,以及该行中关联列的值。如果找不到rowid,则返回一个空数组。   1.编辑行或单元格时,请勿使用此方法。这将返回单元格内容而不是输入元素的实际值.2。此方法的性能成为问题。不要在“for”和“when”的主体中使用此方法。 (调用此方法时,它将计算一次行数据。)   如果未设置rowid,则该方法将返回数组

中网格的所有数据

因此getRowData返回一个数组,所以你应该检查如下

console.log(localRow.customer_id == rowData[0].customer_id)