Ir para o conteúdo

 Voltar a Fórum do For...
Tela cheia

TGrid() - como faço para Editar/Atualizar o campo st_situação dentro da TGrid.

12 de Dezembro de 2012, 10:55 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 60 vezes
p { margin-bottom: 0.21cm; }

Bom Dia!

Prezado Eugenio,


Solicito por gentileza que você me ajude, pois estou tentando fazer uma atualização no campo st_situação dentro da função TGrid().

Leo Miranda Figueira - leo.figueira@planejamento.gov.br

No sistema o campo ATIVO [], e marcado com [] “sim” ou [ ] “não”.

Nota: Quando teclar com o mouse dentro da função Ação no (icone gravar) o campo Ativo sera atualizado.

Programa: cad_modulo.php

(Ativo)>> $frm->addCheckField('st_ativo','Ativo:',null,null,false,null,'N');

Segue abaixo os programas:

Programa: cad_modulo.php

$pc = $frm->addPageControl('abas_adm',null,($frm->getWidth()-75));

$pc->addPage('Cadastro de Modulo',true,true,'aba_cadmodulo')->setColumns(array(100));

$frm->addHiddenField('cd_modulo');

$frm->addGroupField('grp_modulo','Dados do Modulo');

$frm->addTextField('ds_modulo','Nome:', 40, true, 40);

$frm->addSelectField('cd_sistema','Sistema:',null,null,false);

$res = TPDOConnection::executeSql("SELECT cd_sistema, nm_sistema FROM public.tb_sistema");

$frm->getField('cd_sistema')->setOptions($res);

(Ativo)>> $frm->addCheckField('st_ativo','Ativo:',null,null,false,null,'N');

$frm->addTextField('cd_modulo_pai','Módulo Superior:', 10, false, 10);

$frm->addTextField('nr_ordem', 'Ordem:', 10, null, 10,null,true);

$frm->addTextField('ds_url', 'URL:', 100, false, 50);

$frm->addTextField('ds_imagem', 'Imagem:', 30, null, 30,null,false);

$frm->addTextField('ds_hint', 'Hint:', 80, null, 80,null,true);

$frm->addButton('Gravar Alteração',null,'btn_cad_modulo_Alterar',null,null,true,false);

$frm->addButton('Novo',null,'btn_cad_modulo_novo',null,null,false,false);

$frm->addHtmlField('gride');

switch ($acao){

case "grd_cad_modulo_gravar":

$frm->setMessage('Dados gravados com sucesso!');

$res = TPDOConnection::executeSql("UPDATE public.tb_modulo SET

st_ativo = ".(st_ativo =='S'? "'True'" : "'False'")."

where cd_modulo = '{$frm->getValue('cd_modulo')}'");

if (TPDOConnection::getError() || !$res) {

$frm->setMessage('Erro. Desculpe, não foi possível buscar dados do banco.');

}

break;

}

$frm->addHtmlGride('grd_modulo', 'modulos/adm_servicosonline/cad_modulo/grd_modulo.php', 'grd_modulo');

$frm->closeGroup();

?>


<script>

function chama_alterar(par1, par2){

fwAtualizarCampos(par1,par2);

fwFazerAcao('grd_cad_modulo_alterar');

}


function chama_gravar(par1, par2){

fwAtualizarCampos(par1,par2);

fwFazerAcao('grd_cad_modulo_gravar');

}

</script>


Programa: grd_modulo.php

<?php

$res = TPDOConnection::executeSql("SELECT tbmod.cd_modulo,tbmod.ds_modulo,

tbmod.cd_modulo_pai,

(case when tbmod.st_ativo then 'Sim' else 'Nao' end) as st_ativo,

tbmod.cd_sistema,

(SELECT nm_sistema FROM public.tb_sistema where cd_sistema = tbmod.cd_sistema) as nm_sistema,

tbmod.nr_ordem,

tbmod.ds_url,

tbmod.ds_imagem,

tbmod.ds_hint

FROM public.tb_modulo tbmod

ORDER BY tbmod.cd_sistema ,(tbmod.cd_sistema + tbmod.cd_modulo_pai ) DESC ");

$grdmodulo = new TGrid('grd_modulo','Cadastro de Modulo',$res,null,null,'CD_MODULO',null,25);

//$grdmodulo->addRowNumColumn(null,'#','1%');

$grdmodulo->addColumn('cd_modulo','Modulo',null,'center');

$grdmodulo->addColumn('ds_modulo','Nome',null,'center');

$grdmodulo->addColumn('nm_sistema','Sistema',null,'left');

$grdmodulo->addColumn('cd_modulo_pai','Mod Superior',null,'center');

$grdmodulo->addColumn('nr_ordem','Ordem',null,'center');

(Ativo)>>>>> $grdmodulo->addCheckColumn('st_ativo','Ativo','st_ativo' ,'st_ativo',true,false);

$grdmodulo->addColumn('ds_url','URL',null,'center');

$grdmodulo->addColumn('ds_imagem','Imagem',null,'center');

$grdmodulo->addColumn('ds_hint','Hint',null,'center');

$grdmodulo->setZebrarColors('#f8f8f8','#f8f8f8');

$grdmodulo->enableDefaultButtons(true);

// $grdmodulo->addbutton('Alterar','grd_cad_modulo_alterar',null,'chama_alterar()',null,'alterar.gif',null,'Alterar');

// $grdmodulo->addbutton('Gravar','grd_cad_modulo_gravar',null,'chama_gravar()',null,'disco_rigido.gif',null,'Gravar');

$grdmodulo->show();

?>

Atenciosamente,

Leo Miranda Figueira - leo.figueira@planejamento.gov.br

 






Autor: Leo Figueira


22 comentários

  • 51b06d6eae66e2cfdfc361d418eea715?only path=false&size=50&d=404Luis Eugênio barbosa(usuário não autenticado)
    12 de Dezembro de 2012, 20:21

     

    Leo,

    você pode adicionar o evento onChange na coluna checkbox do gride e no evento, chamar uma função ajax que atualiza o banco de dados.

    Exemplo:

    $grdmodulo->addCheckColumn('st_ativo','Ativo','CD_MODULO',null,true,false)->addEvent('onChange','meuEvento(this)')

     

    <script>

    function meuEvento(e){

        var sn = e.checked ? 'S' : 'N';
        fwAjaxRequest(
        {
            'action':'atualizarAtivo'
            ,'data':{cd_modulo:e.value,valorSN:sn}
            ,'dataType':'text'
            ,callback:function(erro)
            {
                if( erro )
                {
                    fwAlert(erro);
                }
            }
        })

    }

    Assim, na ação atualizarAtivo você deve fazer o update no banco de dados utilizando os dados postados em cd_modulo e valorSN.

    Abraço.

    • 53bf821129be09350b197eb104b00989?only path=false&size=50&d=404Leo Figueira(usuário não autenticado)
      27 de Fevereiro de 2013, 10:32

       

      p { margin-bottom: 0.21cm; }
      Assunto: Função TGrid() - não consigo marca o campo st_ativo, [√] “Sim/True” dentro da TGrid.

               TGrid('grd_modulo','Cadastro de Modulo',$res,null,null,'CD_MODULO',null,25);

      função: addCheckColumn

      $grdmodulo->addCheckColumn('st_ativo','Ativo','CD_MODULO', 'st_ativo',false, false)
      ->addEvent('onChange','confirmacao(this)',false);

      Prezado Eugenio,

                Estou com dificuldade para atualizar o campo st_ativo dentro da Função Tgrid() ==> Função: addCheckColumn.

      1) No sistema o campo ATIVO [√], e marcado com [√] “Sim” ou [ ] “Não”.
      Nota: na função Tgrid não esta marcando o campo [√] “Sim” quando for campo for “true”

      2) Quando teclar com o mouse dentro da função Ação, o campo Ativo sera atualizado automaticamente.
      3) Programas: cd_modulo.php

                              grd_modulo.php

                    modulo_ativar.php

      Atenciosamente, 

      Léo

      email: leo.figueira@planejamento.gov.br

       

Essa comunidade não possui posts nesse blog