伝説

2011-12-23 13 views
0

を更新していない私は伝説が伝説

ときSTOR内のデータの変更円グラフの更新をudatingに問題を持っているように見えるが、伝説にはありません。

しかし、インタラクションでリセットオプションを使用しているように、円グラフをリセットすると一度更新されるのは驚きです。

凡例が初めて自分自身を更新していないという正確な問題がわかりません。

私は店舗のハードコード値を使用すると、最初の凡例が更新されていました。動的な値については、凡例だけがインラインで更新されていませんでした。

任意のアイデア

PieChart = new Ext.chart.Chart({ 

           cls: 'pie1', 

           theme: 'Demo', 

           store: store1 
           shadow: true, 

           animate: true, 

    legend: { 
    position: 'top' 

    // dock: false 
}, 
    interactions: [ { 

        type: 'reset', 
        confirm: true 
        }], 


series: 
    [ { 

     type: 'pie', 

     renderer: function(sprite, storeItem, barAttr, m, store11) { 

      barAttr.fill = colors1[m % colors1.length]; 

      return barAttr; 

     }, 

     field: 'data1', 

     showInLegend: true, 

     highlight: false, 

     donut: 15, 

     listeners: { 

      'labelOverflow': function(label, item) { 

       item.useCallout = true; 

      } 

     }, 

     callouts: { 

      renderer: function(callout, storeItem) { 

       callout.label.setAttributes({ 

        text: storeItem.get('Horizontal') 

       }, true); 

      }, 

      filter: function() { 

       return false; 

      }, 

      box: { 

       //no config here. 

      }, 

      lines: { 

       'stroke-width': 2, 

       offsetFromViz: 10 

      }, 

      label: { 

       font: 'italic 14px Arial' 

      }, 

      styles: { 

       font: '14px Arial' 

      } 

     }, 

     label: { 

      field: 'Horizontal', 

      display: 'rotate', 

      font: '5px Arial' 

     } 

    }] 

、私のコードのいくつかの部分を参照してください?

+4

ここには回答がありません。使用する円グラフコンポーネント、返されるデータの書式/構造、この特定の部分を実行するコードのスニペットなどに関する情報を提供できますか? – techfoobar

答えて

0

私は、これは、あなたは自分の店をロードするために必要なデータが煎茶タッチ(チャートv1.0.0デベロッパー)でグラフの凡例を更新するには店舗

var hrPieChart = hrPanel.items.getAt(0); 
      hrPieChart.legend = new Ext.chart.Legend({ 
       chart: hrPieChart, 
       position: 'top', 
        dock: false 
      }); 
      var fieldNames = []; 
      hStore.each(function(rec) { 
       fieldNames.push(rec.get('data1')); 
      }); 
      hrPieChart.series.getAt(0).yField = fieldNames; 
      hrPieChart.redraw(false); 
0

に救わながら、次のコードを使用することによって解決しまったとコールバックでupdateStore()を実行します。

var updateLegend = function(){ 
    store.getProxy.url = 'someData.json'; // Omit if new data is from original source. 
    store.load({ 
     callback: function(records, options, success){ 
      if (success === true){ 
       var legend = chart.legend; 
       legend.view.updateStore(); 
      } 
     } 
    }); 
}