2012-01-16 1 views
1

私は常に単一のレコードを含むストアを持っています。記録は次のようになります:Ext JS 4.0でチャートに「非従来的な」データを提供

{'good': 5, 'bad': 2, 'neutral': 3} 

私はPie chartとしてどのように表示しますか? Ext.jsは通常、ストアの各レコードをシリーズの1つのポイントとして使用します。私の場合は、レコードは1つしかなく、シリーズの3つのポイントとして使用する必要があります。

答えて

3

あなたにはいくつかのオプションがあります。 Ext.data.reader.Readerサブクラスを作成して生データをフォーマット済みレコードに変換したり、ストアのloadRawDataメソッドをオーバーライドしてJSONデータをExt.data.ResultSetに変換したり、ストアのloadメソッドでコールバックを設定してレコードを取得したり、必要なレコード形式に変換します。あなたが再利用のために行くなら、私はリーダーを作ることを提案する。

Reader#readRecordsメソッドは生データを受け取り、結果セットと同じ結果を返すResultSetを返します。 SenchaドキュメントのWebサイトからソースを見ると、そこからどこに行くのかを知ることができます。カスタムリーダーを取得したら、設定中に店舗のプロキシに渡します。で処理する必要があります。自動的に表示されない場合は、ストアloadRawDataに電話して、JSON応答を渡す必要があります。

3

3つのレコードに分割します。独自のレコードのインスタンスを作成し、元のレコードをソースとして使用してデータを埋め込むことができます。

+0

このPieChart用に別のストアを作成する必要があります。オリジナルストアのonLoadでは、レコードを作成してそれらを「新しい」ストアに入れるでしょうか?それはばかげて聞こえる。 – nisc

+1

それは考え方になります。ばかばかしい?私はなぜそれが表示されません。あなたの非標準のデータを消費することができるようにCerrlyly Modyfing Chartクラスはもっと多くの作業を必要とします。 – Mchl

+0

私はそれを実装し、それは動作します。私はこの解決策に満足していません。非常に些細なことのための多くのコード。誰かがもっと美しいものを思いついているのを見てみましょう。 – nisc

関連する問題