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
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
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:
linha para comentar:
Espero ter ajudado.
abs
Eliezer
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
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:
mais uma vez obrigado :D
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
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.
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
BOA Pablo!!
Gostei da solução, pois já abre um leque enorme para minhas aplicações.
abs
Eliezer
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