2012-06-11 3 views
1

아래 코드는 그리드에서 선택된 행에 대한 Json 문자열을 가져 오는 것입니다. 그러나 이것은 다소 서투른 느낌이거나 extjs 4로가는 길입니까? 방화범 extjs 4.0은 모눈 값을 검색합니다.

var json = "["; 
var selrows = g.getView().getSelectionModel().getSelection(); 
for (var r=0; r<selrows.length; r++) { 
    var selrow = selrows[r]; 
    json += "{"; 
    for (var f=0; f<selrow.fields.length; f++) { 
     var n = selrow.fields.items[f].name; 
     var v = selrow.data[n]; 
     json += "'" + n + "' : '" + v + "',"; 
    } 
    json += "},"; 
} 
json += "]"; 
alert(json); 

은 내가 selrow의 VAR의 JSON-비슷하게 표현을 볼 수 있지만 나는 자바 스크립트에서 잡아 수없는 것.

답변

1

이 시도 :

json = Ext.JSON.encode(g.getView().getSelectionModel().getSelection().map(function(e){ return e.data; })); 

alert(json); 
+0

감사합니다 마크, 즉 훨씬 명확입니다 ... – Paul

관련 문제