Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Adicionar TCheckButton em uma datagrid Estou tentando faz algumas horas, mas sem sucesso. Preciso adicionar um checkbox para marcar registros de um datagrid. Para imprimir os registros marcados. Algum colega do fórum já fez algo assim ? criei um método get na model, para add o checkbox usando tag HTML pura, até que deu certo. Mas não permite marcar a checkbox, pois a linha esta ligada ao método onEdit() Logo ao clicar ele semp...
AN
Adicionar TCheckButton em uma datagrid  
Fechado
Estou tentando faz algumas horas, mas sem sucesso. Preciso adicionar um checkbox para marcar registros de um datagrid. Para imprimir os registros marcados. Algum colega do fórum já fez algo assim ?

criei um método get na model, para add o checkbox usando tag HTML pura, até que deu certo. Mas não permite marcar a checkbox, pois a linha esta ligada ao método onEdit() Logo ao clicar ele sempre executa o método abrindo o form de edição do registro.

att,

Ademilson Nunes


Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (8)


ES

Oi Ademilson!
Eu tive o mesmo problema e depois de várias pesquisas descobri que para conseguir fazer um checkbox marcar eu so teria que comentar uma linha de uma classe conforme abaixo:

Classe: TDataGrid
Método: AddItem
início do código:
  1. <?php if (isset($first_url)) ?>

linha para comentar:
  1. <?php $celula-> generator 'adianti'?>


Espero ter ajudado.
abs
Eliezer
ES

Aliás, penso em alterar essa classe para poder escolher se quero a url ligada ao click da linha como antes ou não.

E aí Pablo, tem outra solução ou é isso mesmo?

abs.
Eliezer
AN

Boa noite Eliezer,
realmente deu certo, muito obrigado mesmo :D porém eu gostaria de manter o click ligado a linha. Agora que entendi como funciona me ocorreu a ideia de adicionar a checkbox dentro de uma celula <td></td> assim apenas o checkbox fica liberado na linha. E não precisamos mudar a classe original. Como eu disse neste caso estou usando html puro no método pois não conseguir usar o TCheckButton direto no Grid. "/ eu gostaria de aprender a fazer isso, ficaria mais elegante, mas enquanto não consigo estou usando assim:
  1. <?php
  2. ....
  3. function get_checkbox_code() 
  4.     {       
  5.       
  6.       $checkbox "<td><input type='checkbox' id='{$this->os_code}'  name='check_code[]' value='{$this->os_code}'></td>";                       
  7.             
  8.       return $checkbox;
  9.     }
  10. ....
  11. ?>


mais uma vez obrigado :D
ES

Oi Ademilson,
concordo com você quanto a usar a classe TCheckButton, nesse caso a usamos no método onReload e como é um objeto não está sendo possível inserí-la no datagrid.

Assim pensei em transformar o resultado da classe TCheckButton em texto antes de colocar no datagrid, que basicamente faria o mesmo que o seu método faz de uma forma mais elegante.

Estou testando aqui e caso consiga resolver repasso a você.

abs
Eliezer
AN

Bom dia Eliezer,
obrigado, também estou tentando (ja faz alguns dias na verdade rsrs). Aceito qualquer ajuda possível, já até mandei um e-mail para o Pablo pedindo ajuda.

Vou continuar tentando, aviso se conseguir alguma coisa.


abraços.
PD

Olá amigos,

Vou acrescentar um método TDataGrid::disableDefaultClick() na datagrid para desabilitar somente quando necessário o clique default para executar a primeira ação.

Em seguida, estou pensando em modificar a TDataGrid para aceitar objetos como atributos. Assim, não seria mais necessário passar o HTML inteiro como o Ademilson teve de fazer. Estou trabalhando na próxima versão, acredito que dê para acrescentar isso.

abraços,
Pablo
ES

BOA Pablo!!
Gostei da solução, pois já abre um leque enorme para minhas aplicações.

abs

Eliezer
PD

Cabe dizer que este recurso foi disponibilizado com a última versão do framework, lançada ontem. Veja o changelog:

www.adianti.com.br/framework-changelog

abraços,
Pablo