Ir para conteúdo


Foto

2 store para o mesmo grafico

chart senchatouch grafico store

Melhor Resposta Allison WIllian , 13 August 2015 - 11:30

Vc precisa revisar o seu model, não pode ter objeto dentro para charts, todas as informações precisam ser atributos.

Olá Loiane

 

Consegui colocar tudo no mesmo store e casando o dados

 

Não consigo ter a logica syntaxe correta para carregar isso dentro do grafico, é a primeira vez que mexo com este componente do chart assim no sencha touch. Você pode me ajudar, por favor.

 

http://prntscr.com/846j27

Visualizar todo o conteúdo do post


  • Por favor, faça o login para responder
7 respostas neste tópico

#1 Allison WIllian

Allison WIllian

    Member Avançado

  • Membros
  • PipPipPip
  • 40 posts
  • LocationLondrina

Postado 11 August 2015 - 10:48

Pessoal

 

Preciso usar dados de dois store para um mesmo gráfico

 

pois um store irá carregar a serie e, o outro, carrega os axes (as linhas do gráfico)

 

segue um pedaço do código para ver se está errado ou não.

config: {        
        flex: 1,
        xtype: 'chart',
        id: 'chartBILine',        
        store: ['biChartsStore','GraficoIndBIStore'],
        cls: 'chart',
        innerPadding: 15,
        animate: true,
        legend:{
            position: 'bottom'
        },.........


#2 Wemerson Januario

Wemerson Januario

    Administrador Ext JS Brasil

  • Administrators
  • 837 posts
  • LocationGoiânia - GO

Postado 11 August 2015 - 14:59

acho que a config store não aceita array, Você terá que usar apenas um store, Nesse store terá que vim tudo que precisa.


Wemerson Januario
http://wemersonjanuario.com.br
Twitter: @januariocoder

 

Treinamento e Consultoria Ext JS. Qualifique-se já!


#3 Allison WIllian

Allison WIllian

    Member Avançado

  • Membros
  • PipPipPip
  • 40 posts
  • LocationLondrina

Postado 11 August 2015 - 15:32

Olá Wemerson

 

Como eu pego os dados dos dois store e atribuio em um outro, tem um exemplo??? 



#4 Allison WIllian

Allison WIllian

    Member Avançado

  • Membros
  • PipPipPip
  • 40 posts
  • LocationLondrina

Postado 11 August 2015 - 15:34

acho que a config store não aceita array, Você terá que usar apenas um store, Nesse store terá que vim tudo que precisa.

 

Olá Wemerson

 

Como eu pego os dados dos dois store e atribuio em um outro, tem um exemplo???

 

no caso os dois tem no field um campo chamado codind(codigo indicador) em comum

 

mais um store traz para mim o numero de series que o grafico vai ter e,

o outro traz os valores que fazem o grafico renderizar as linhas

 

no caso só consigo carregar a serie que traz 2 e data que vem do indicadoresStore, mais não rederiza as linha

 

olha o link com o print http://prntscr.com/83hmeh



#5 Loiane

Loiane

    Member Avançado

  • Expert User
  • 1013 posts
  • LocationSão Paulo - SP

Postado 12 August 2015 - 11:47

Vc vai criar um model pra Store do seu gráfico.

 

Depois vai pegar as duas stores que vc tem e a partir delas vai montar os dados da nova store.

 

Para obter dados vc usa: store.getData().

Pra instanciar um novo model: Ext.create('App.model.nomeModel').

Para add novo model na nova store: novaStore.add(model).

 

É claro que a parte mais complexa dessa lógica vai ser casar as informações das 2 stores num mesmo model, mas aí é questão de lógica de programação.


Autora dos livros:

Mastering Ext JS 5 http://bit.ly/1HWeHXh
Mastering Ext JS 4 http://bit.ly/14NZkxg

Ext JS 4: First Look http://bit.ly/o1IP1w
Sencha Architect http://bit.ly/19FVBGs
Curso ExtJS 4 Gratuito http://bit.ly/s5S0Oj (conceitos valem pro Ext 5 e 6 tb)


#6 Allison WIllian

Allison WIllian

    Member Avançado

  • Membros
  • PipPipPip
  • 40 posts
  • LocationLondrina

Postado 12 August 2015 - 16:31

Vc vai criar um model pra Store do seu gráfico.

 

Depois vai pegar as duas stores que vc tem e a partir delas vai montar os dados da nova store.

 

Para obter dados vc usa: store.getData().

Pra instanciar um novo model: Ext.create('App.model.nomeModel').

Para add novo model na nova store: novaStore.add(model).

 

É claro que a parte mais complexa dessa lógica vai ser casar as informações das 2 stores num mesmo model, mas aí é questão de lógica de programação.

 Olá  Loiane.

 

fiz um copy dos dois store para um(indicadoresStore)

esta add como previsto mais no objeto grafico ele só carrega um 1 no caso o clientes ativos tem 4 registros e, os inativos mais 4 que ficariam dentro do objeto grafico

 

imagem -> http://prntscr.com/83wim4

segue trecho do código

function onCarregaStoreChart(){
            console.log('onCarregaStoreChart');
            
            var indicadoresStore = Ext.getStore('IndicadoresStore');
            
            graficoIndBIStore.each(function(record1){
                //console.log(record1.data); 
                  var copiedRecord1 = record1.copy();                           
                IndicadorBIStore.each(function(record2){                    
                    if(record1.get('codind') === record2.get('codind')){
                        
                        var copiedRecord2 = record2.copy();
                        var newRecord = Ext.Object.merge(copiedRecord1.data,{grafico:copiedRecord2.data});
                        indicadoresStore.add(newRecord);
                    }
                });
            });
            
            //aqui já recebo os dados dos stores graficoIndBIStore e IndicadorBIStore
            indicadoresStore.each(function(record){
                console.log(record.data);         
            });

        }


#7 Loiane

Loiane

    Member Avançado

  • Expert User
  • 1013 posts
  • LocationSão Paulo - SP

Postado 13 August 2015 - 08:38

Vc precisa revisar o seu model, não pode ter objeto dentro para charts, todas as informações precisam ser atributos.


Autora dos livros:

Mastering Ext JS 5 http://bit.ly/1HWeHXh
Mastering Ext JS 4 http://bit.ly/14NZkxg

Ext JS 4: First Look http://bit.ly/o1IP1w
Sencha Architect http://bit.ly/19FVBGs
Curso ExtJS 4 Gratuito http://bit.ly/s5S0Oj (conceitos valem pro Ext 5 e 6 tb)


#8 Allison WIllian

Allison WIllian

    Member Avançado

  • Membros
  • PipPipPip
  • 40 posts
  • LocationLondrina

Postado 13 August 2015 - 11:30   Melhor Resposta

Vc precisa revisar o seu model, não pode ter objeto dentro para charts, todas as informações precisam ser atributos.

Olá Loiane

 

Consegui colocar tudo no mesmo store e casando o dados

 

Não consigo ter a logica syntaxe correta para carregar isso dentro do grafico, é a primeira vez que mexo com este componente do chart assim no sencha touch. Você pode me ajudar, por favor.

 

http://prntscr.com/846j27







Tópicos que também usam as tags chart, senchatouch, grafico, store:

0 usuário(s) está(ão) lendo este tópico

0 membros, 0 visitantes, 0 membros anônimos