Ir para conteúdo


Foto

[RESOLVIDO] Problema com RowEditing


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

#1 Lucas .net

Lucas .net

    Member Avançado

  • Membros
  • PipPipPip
  • 48 posts

Postado 12 September 2013 - 11:39

Pessoal meu rowEditing não está habilitando o botão Salvar. Isso começou acontecer agora q atualizei para a versão 4.2.1.
ele ja abre com ele desabilitado, isso pq eu possuo campos q não permitem em branco.. então ele ja abre desabilitado, e msm q eu digite alguma informação no campo ele não habilita.

Alguém tem alguma solução para habilitar o botão Salvar?

#2 Legolas

Legolas

    Ext JS - Admin

  • Administrators
  • 3496 posts
  • LocationBelo Horizonte

Postado 12 September 2013 - 13:14

Lucas .net, teria como fazer um exemplo funcional do erro, pois o exemplo que tenho da Sencha funciona de boa.

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


#3 Lucas .net

Lucas .net

    Member Avançado

  • Membros
  • PipPipPip
  • 48 posts

Postado 12 September 2013 - 13:53

Claro... Segue o print da tela.

Na primeira tela mostra as informações assim q cliquei em novo, ele abre o rowediting ja reclamando q precisa ser preenchido os campos.

Na segunda tela mostra os dados ja preenchidos, porém o botão não habilitou pra eu salvar.


Aqui existem dois problemas pra mim, primeiro não queria q abrisse o rowediting ja avisando os campos pra preencher, e o outro seria não está habilitando msm preenchendo os campos.


Este é meu rowEditing:
       this.rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
            clicksToMoveEditor: 1,
            autoCancel: false
        });

e este meu grid:
this.grid = Ext.create('Ext.grid.Panel', {
            id: this.gridId,
            store: store,
            columnLines: true,
            selModel: selModel,
            columns: newCols,
            rowIdx: 0,
            colIdx: 0,
            flex: 1,
            features: this.features,
            plugins: (this.readOnly) ? null : [this.rowEditing],
            tbar: (this.readOnly) ? null : this.tbarGrid,
            bbar: this.bbarGrid,
            loadData: function (data) {
                this.store.loadData(data);
            },
            getRecord: function () {
                var itms = this.getSelectionModel().selected.items;
                return (items.length > 0) ? itms[0].data : null;
            },
            viewConfig: {
                stripeRows: true,
                getRowClass: function (record) {
                    if (record.get("ID") < 0) {
                        return 'readOnlyRow';
                    }
                    return '';
                }
            },
            listeners: {
                scope: this,
                'itemcontextmenu': function (view, record, item, idx, e) {
                    e.stopEvent();
                    view.getSelectionModel().select(this.grid.store.getAt(idx));
                    this.contextmenu.showAt(e.getXY());
                },
                'itemdblclick': this.getSelectedData,
                'selectionchange': function (view, records) {
                    this.rowIdx = (records.length > 0) ? this.grid.store.indexOf(records[0]) : 0;
                    this.grid.rowIdx = this.rowIdx;
                    var isNotSelected = (this.grid.getSelectionModel().selected.items.length == 0);
                    if (!this.readOnly) {
                        this.win.down('#' + this.idDelete).setDisabled((!records.length || records[0].get('ID') < 0) && isNotSelected);
                        Ext.getCmp(this.idDeleteCtx).setDisabled((!records.length || records[0].get('ID') < 0) && isNotSelected);
                    } else this.win.down('#' + this.idSelect).setDisabled(!records.length && isNotSelected);
                    this.fireEvent('refreshMenu', (!records.length || records[0].get('ID') < 0) && isNotSelected);
                }
            }
        });


#4 Lucas .net

Lucas .net

    Member Avançado

  • Membros
  • PipPipPip
  • 48 posts

Postado 20 September 2013 - 15:27

Legolas vc disse q no exemplo do sencha está funcionando.. bem eu testei aqui e não funcionou nem com o exemplo deles. Baixei aqui os exemplos e executei pra fazer os testes e não funcionou.

o exemplo q eu utilizei foi "examples/grid/row-editing.html".
Faz o seguinte, no botão "Add Employee" dessa página, apague o valor default do "Name" deixa o valor null.

Você vai ver q o botão para salvar fica sempre desabilitado, msm informando o valor do campo Name...

#5 Lucas .net

Lucas .net

    Member Avançado

  • Membros
  • PipPipPip
  • 48 posts

Postado 20 September 2013 - 21:24

Percebi uma coisa aqui olhando o fonte do Ext, o método onFieldChange do RowEditor em nenhum momento é chamado, não tem referência nenhuma para esse método na nova versão ..... olhando o antigo percebi essa diferença.

#6 Legolas

Legolas

    Ext JS - Admin

  • Administrators
  • 3496 posts
  • LocationBelo Horizonte

Postado 23 September 2013 - 08:08

Legolas vc disse q no exemplo do sencha está funcionando.. bem eu testei aqui e não funcionou nem com o exemplo deles. Baixei aqui os exemplos e executei pra fazer os testes e não funcionou.

o exemplo q eu utilizei foi "examples/grid/row-editing.html".
Faz o seguinte, no botão "Add Employee" dessa página, apague o valor default do "Name" deixa o valor null.

Você vai ver q o botão para salvar fica sempre desabilitado, msm informando o valor do campo Name...

Lucas .net, obrigado pela resposta. Tentarei fazer esse teste ainda hoje e lhe falo.

Percebi uma coisa aqui olhando o fonte do Ext, o método onFieldChange do RowEditor em nenhum momento é chamado, não tem referência nenhuma para esse método na nova versão ..... olhando o antigo percebi essa diferença.

Mas vc viu se isso é um bug informado no fórum da Sencha?

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


#7 Lucas .net

Lucas .net

    Member Avançado

  • Membros
  • PipPipPip
  • 48 posts

Postado 23 September 2013 - 14:32

Não verifiquei no fórum do sencha, vou ver se acho algo lá, se tiver eu posto aqui, só pra deixar a resposta aqui, resolvi isso adicionando o evendo onFieldChange quando sai do campo.  Deixei essa solução temporariamente aqui no meu sistema.

#8 Legolas

Legolas

    Ext JS - Admin

  • Administrators
  • 3496 posts
  • LocationBelo Horizonte

Postado 23 September 2013 - 21:40

Não verifiquei no fórum do sencha, vou ver se acho algo lá, se tiver eu posto aqui, só pra deixar a resposta aqui, resolvi isso adicionando o evendo onFieldChange quando sai do campo.  Deixei essa solução temporariamente aqui no meu sistema.

Lucas .net, fiz o teste que vc falou e constatei a mesma coisa, porém depois pesquisando no fórum da Sencha existe esse bug conforme a thread: 4.2.1 Ext.grid.RowEditor onFieldChanged() No Longer Called
Pelo que consta a saída é add o monitoramente para o evento "onFieldChange" conforme vc fez e como é demonstrado no link acima.

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


#9 Lucas .net

Lucas .net

    Member Avançado

  • Membros
  • PipPipPip
  • 48 posts

Postado 24 September 2013 - 14:05

Ok legolas valeu .. obrigado!! Ficamos no aguardo então em uma nova versão!!! [Fechado]

#10 Wemerson Januario

Wemerson Januario

    Administrador Ext JS Brasil

  • Administrators
  • 837 posts
  • LocationGoiânia - GO

Postado 05 December 2013 - 20:48

na versão 4.2.2 foi resolvido!

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

 

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


#11 Legolas

Legolas

    Ext JS - Admin

  • Administrators
  • 3496 posts
  • LocationBelo Horizonte

Postado 06 December 2013 - 07:22

na versão 4.2.2 foi resolvido!

Obrigado Wemerson pela informação.

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





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

0 membros, 0 visitantes, 0 membros anônimos