[Resolvido] Atualizando o CGrideView com ajaxButton ou ajaxSubmitButton

E ai garera, ó eu de novo. LOL

Queria saber como faço pra atualizar um CGrideView através de um button do tipo submit ou apenas button memo.

Cada button serve como filtro, e esses botões ficam fora da grid.

i.e.: Se eu clicar no botão "Livre" a grid é atualizada com todos os "itens" que estão livres, se clicar em "Ocupado", atualiza com os ocupados e assim por diante.

Vlhew.

Moleza. No click dos botões, vc pode por assim:


$.fn.yiiGridView.update('meu-grid', {data: 'teste=1'});

Daniel,

eu fiz assim:




Yii::app()->clientScript->registerScript('situacao',"

    $('.situacao-button').click(function(){

                                        // 'situacao' é o campo que eu quero filtrar

        $.fn.yiiGridView.update('apartamento-grid', {data: 'situacao=1'}); 

    });"

);



Até aparece o "Ajax Loader" mais a grid permanece do memo jeito.

Estranho, no meu tudo funciona normal.

Veja com o Firebug se não está retornando algum erro

Cara usei o firebug e não foi encontrado nenhum erro. =\

O Data vai com valor "situacao=1" mesmo.

Laverson,

Usei desta forma.

Botão de Filtro:




$('button[id=filtrar]').live('click', function(){

        $.fn.yiiGridView.update('table-grid', {

            url:'?filtro&mes=' + $('select[id=mes] option:selected').val() + '&ano=' + $('select[id=ano] option:selected').val()

        });

        return false;

    });



Opa galera,

depois de muito penar consegui aqui, seguindo como dito pelo Daniel.

Eis o código:

admin:




Yii::app()->clientScript->registerScript('situacao',"

    $('.situacao-button').click(function(){

        $.fn.yiiGridView.update('apartamento-grid', {

            data: 'Apartamento[situacao]='+$(this).val()

        });

    });"

);



O que eu fiz, acrescentei ‘Apartamento[situacao]’ no lugar de ‘situacao’ apenas. Depois peguei o valor do “value” do meu button e voilá, a grid está atualizada. \o

Vlw mais uma vez galera.