MC
TBootstrapFormBuilder - Add TDropDown
Boas,
A algum tempo precisei adicionar num projeto um botão TDropDown, e notei que o mesmo não existia na barra Footer do formulário,
resolvi então acrescentar e agora estou repartindo com os senhores.
Neste caso foi apenas acrescentado na classe BootstrapFormBuilder.
Obs: nesta classe em especifico existe também uma alteração onde Add na linha (71), uma nova Grade
Entre as linhas 390 e 399 onde foi acrescentado o TDropDown, somente isso.
Uso, muito simples:
Como aqui não permite uma imagem vou criar um post para demonstrar a imagem:
Espero ter contribuido
Abraços;
A algum tempo precisei adicionar num projeto um botão TDropDown, e notei que o mesmo não existia na barra Footer do formulário,
resolvi então acrescentar e agora estou repartindo com os senhores.
Neste caso foi apenas acrescentado na classe BootstrapFormBuilder.
Obs: nesta classe em especifico existe também uma alteração onde Add na linha (71), uma nova Grade
- <?php
- $this->column_classes[5] = ['col-sm-2', 'col-sm-3','col-sm-2', 'col-sm-3', 'col-sm-2']; // by MarcoARCampos
- ?>
Entre as linhas 390 e 399 onde foi acrescentado o TDropDown, somente isso.
- <?php
- //---- BY MarcoARCampos --------------------------------------------------------
- public function addDropDown( $DropDown )
- {
- $this->actions[] = $DropDown;
- return $DropDown;
- }
- //------------------------------------------------------------------------------
- ?>
Uso, muito simples:
- <?php
- // DropDown
- $drop_act = new TDropDown(_t('Print'), 'bs:print brown');
- $drop_act->addAction( 'Gera Arquivo CSV', new TAction( array( $this, 'onExportCSV' )), 'fa:file-excel-o fa-lg green' );
- $drop_act->addSeparator();
- $drop_act->addAction( 'Gera Arquivo PDF', new TAction( array( $this, 'onRelatorio' )), 'fa:list-alt fa-lg red' );
- // add the search form actions
- $this->form->addAction( _t('Find'), new TAction( array( $this, 'onSearch' )), 'fa:search' );
- $this->form->addAction( _t('New'), new TAction( array( 'Form_Abc', 'onReload' )), 'bs:plus-sign green' );
- $this->form->addAction( _t('Clear'), new TAction( array( $this, 'onClear' )), 'bs:retweet blue' );
- $this->form->addDropDown( $drop_act );
- ?>
Como aqui não permite uma imagem vou criar um post para demonstrar a imagem:
Espero ter contribuido
Abraços;
Funcionou perfeitamente.
Obrigado por compartilhar.
Boa noite!
Seguindo e exemplo apresentado, o TDropDown foi criado com sucesso.
Porém o TAction ligado diretamente ao form busca informações através do getData.
Diferente do TAction vinculado ao DropDown que retorna o getData vazio.
Como faço para utilizar o getData dentro de um chamada para buscar as informações do formulário através de um botão vinculado ao DropDown .
Desde já obrigado.
Boa tarde!
Marcelo como você soluciono a passagem de parâmetros para os botões do DropDown?
Hellton, não entendi sua dúvida!
Marcelo, quando clico sobre o botão do DropDown quero buscar algumas valores do formulário ou pegar o id ou key passada, para poder realizar a emissão de relatórios e processo daquele determinado registro.
Um exemplo é que ao clicar no botão que foi adicionado no formulário eu posso buscar o $param['id'] ou $object->id
Existe um método no TButton chamado setProperty
Ops,
Não é isso, eu confundi. Desculpe.
Você pode passar um parametro no TAction que são os parametros, por exemp.o:
Marcelo segui o modelo, mas não consegui obter exito, o valor retorna vazio da mesma forma, tem como dar uma olhada.
Segue o código abaixo.
Está vario pelo fato de no momento que está montando o botão o $id ainda não está preenchido.
Como o __construct é chamado sempre em primeiro lugar é preciso certificar que o $id existe.
Caso o botão seja pressionado ante de carregar os dados em tela, vai estar nulo.
inspecione ou use var_dump($id) antes de criar o botão e veja qual o valor que está em $id.
Caso o valor ainda não exista, eu sugiro criar um regra para não exibir o botão até que a tela esteja com dados....
Marcelo, seguindo sua dica alterei o local da passagem de parâmetro, e deu certo.
Muito obrigado.