expandRow 方法不起作用 [jqgrid TreeGrid]

expandRow method not working[jqgrid TreeGrid]

var record = jQuery("#gridTable").jqGrid("getRowData",1); 
$("#gridTable").jqGrid('expandRow', record);

以上代码无效。 记录值如下

Object {id: "1", isLeaf: "false", stepNo: "1", stepDescription: "Add New Material", expectedResult: ""…}
actualResult :"All OK"
executionTime : "1.587"
expanded : "false"
expectedResult : ""
icon : ""
id : "1"
isLeaf : "false"
level : "0"
loaded : "true"
parent : ""
status :  "Done"
stepDescription : "Add New Material"
stepNo : "1"

但是当下面的代码用于扩展行时它确实有效... 我看到的唯一区别是一些未引用的数值。

var allRowsInGrid = $('#gridTable').jqGrid('getGridParam','data');
$("#gridTable").jqGrid('expandRow', allRowsInGrid[record.id-1]);

Object {id: 1, isLeaf: false, stepNo: 1, stepDescription: "Add New Material", expectedResult: undefined…}
actualResult : "All OK"
executionTime : "1.587"
expanded : false
expectedResult : undefined
icon : undefined
id : 1
isLeaf : false
level : "0"
loaded : true
parent : ""
status : "Done"
stepDescription : "Add New Material"
stepNo : 1
_id_ : "1"

我真的需要使用第一种方法,也了解这里的问题,在此先感谢

getRowData返回的对象作为expandRow的参数的用法是错误的。 TreeGrid 将数据本地保存在 data 数组中。 expandRow的参数应该是来自本地data的元素。因此你应该修正代码

var rowid = "1",
    record = jQuery("#gridTable").jqGrid("getRowData", rowid); 
$("#gridTable").jqGrid("expandRow", record);

var rowid = "1",
    record = jQuery("#gridTable").jqGrid("getLocalRow", rowid); 
$("#gridTable").jqGrid("expandRow", record);