1

以下のコードは、グリッド内の選択された行のJson文字列を取得するためのものです。しかし、これはかなり不器用に感じますか、それともextjs 4に行く方法ですか?

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 varのjsonに似た表現が表示されますが、javascriptでそれを取得できないようです。

4

1 に答える 1

1

これを試して:

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

alert(json);
于 2012-06-11T19:55:13.747 に答える