Ir para conteúdo


Foto

[RESOLVIDO] criar um store sem persistência


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

#1 juliano.dantas

juliano.dantas

    Member Avançado

  • Membros
  • PipPipPip
  • 124 posts
  • LocationBrasilia

Postado 10 January 2014 - 10:38

Prezados, estou criando um formulário parecido com o preenchimento de nota fiscal e estou tendo dificuldade na criação do store, pois o mesmo ao inserir um registro cria um novo em branco. Segue como desenvolvi:
1º Criei um grid com tbar e plugin "editor". No tbar eu criei um botão abaixo:
tbar: [
         new Ext.Button({
         text: 'Adicionar Contrato',
         scale: 'large',
         icon: config.baseUrl + '/public/images/adicionar.png',
         handler:function (btn){
             var distribuicao = {
                  id: null,
                  nome: '',
                  percentual:''
             };
          recId=0
          var r = new datastore.recordType(distribuicao, recId);
          datastore.insert(0, r);
          var mygrid = Ext.getCmp('gridaddcontrato');
          mygrid.getSelectionModel().selectRow(0);  
        }
        })
        ]

E no editor eu criei o código:
editor = new Ext.ux.grid.RowEditor({
            saveText: 'Salvar',
            cancelText: 'Cancelar',
            listeners:{
                afteredit: function (obj){
                        addgrid = Ext.getCmp('gridaddcontrato').getStore();
                        var novoRegistro = new addgrid.recordType(obj);
                        addgrid.add(0,novoRegistro);                    
                }}
        });

Bem, eu comentei as linhas do listeners do editor para testar, ele insere o registro, porém quando tento inserir outro ele apaga o que já existe.

Grato a todos,
Juliano Dantas

#2 Loiane

Loiane

    Member Avançado

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

Postado 10 January 2014 - 16:26

Oi Juliano,
Pq vc está escutando o evento afteredit e adicionando um novo registro novamente?

Apenas o primeiro código que vc postou seria o suficiente.
Use esse exemplo como base: http://docs.sencha.c...ow-editing.html

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)


#3 juliano.dantas

juliano.dantas

    Member Avançado

  • Membros
  • PipPipPip
  • 124 posts
  • LocationBrasilia

Postado 10 January 2014 - 16:43

Olá Loiane,

Eu também pensei que só a função do botão seria suficiente.
Contudo, quando eu executo apenas a parte do botão, o sistema inclui o primeiro registro e quando eu tento inserir mais um registro ele apaga o registro anterior. Com relação ao exemplo que você indicou, eu vi que é para o ExtJs 4.0 e eu ainda estou usando a versão 3.x.x, pode ser que não funcione da mesma maneira.

Abraço,
Juliano Dantas

#4 Loiane

Loiane

    Member Avançado

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

Postado 10 January 2014 - 16:55

dê uma olhada no mesmo exemplo para extjs 3. É bem parecido, vc não precisa de mais nada! :)

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)


#5 Legolas

Legolas

    Ext JS - Admin

  • Administrators
  • 3496 posts
  • LocationBelo Horizonte

Postado 10 January 2014 - 21:05

Com relação ao exemplo que você indicou, eu vi que é para o ExtJs 4.0 e eu ainda estou usando a versão 3.x.x, pode ser que não funcione da mesma maneira.

juliano.dantas, também tem esse exemplo utilizando a versão ExtJS3.4 "Row Editor Grid Example".

"A verdadeira vitória não é derrotar alguém forte... É ser capaz de proteger alguém que você ama de verdade!" (Maito Dai)


#6 juliano.dantas

juliano.dantas

    Member Avançado

  • Membros
  • PipPipPip
  • 124 posts
  • LocationBrasilia

Postado 13 January 2014 - 09:53

Bom dia Loiane e Legolas, consegui.
Estava faltando o create do registro.

Obrigado a todos,
Juliano Dantas




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

0 membros, 0 visitantes, 0 membros anônimos