2012-06-11 92 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); 

在Firebug中我看到了selrow變種的JSON-都表示,但我似乎無法得到它保持在JavaScript。

回答

1

試試這個:

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

alert(json); 
+0

感謝馬克,這是更清晰...... – Paul