2017-06-25 2 views
0
var record = jQuery("#gridTable").jqGrid("getRowData",1); 
$("#gridTable").jqGrid('expandRow', record); 

der obige Code funktioniert nicht. Wert der Aufzeichnung ist als untenexpandRow-Methode funktioniert nicht [jqgrid TreeGrid]

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" 

aber wenn unten Code verwendet wird Zeile erweitern es funktioniert ... einzigen Unterschied, den ich sehe einige nicht zitierte numerische Werte sind.

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" 

Ich brauche wirklich erste Methode zu verwenden und verstehen, auch die Frage hier, danke im voraus

Antwort

2

Die Nutzung des Objekts von getRowData zurückgegeben, wie der Parameter von expandRow falsch ist. TreeGrid speichert die Daten lokal im Array data. Der Parameter expandRow sollte Element aus dem lokalen data sein. Daher sollten Sie den Code korrigieren

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

zu

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