TDBFCombo 1.0: O TBDCombo, mas agora com filtro. Bom, vi no fórum que o pessoal estava pedindo, e fiz rapidinho um componente para ajudar. É bem fácil de usar, basta adicionar TFilters e ser feliz na filtragem. Valeu? Abraços pra quem curtiu!...
GF
TDBFCombo 1.0: O TBDCombo, mas agora com filtro.  
Fechado
Bom, vi no fórum que o pessoal estava pedindo, e fiz rapidinho um componente para ajudar. É bem fácil de usar, basta adicionar TFilters e ser feliz na filtragem. Valeu? Abraços pra quem curtiu!

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (6)


ES

Parabéns pela colaboração Guilherme! Ficou bem legal e também farei uso desse componente.

abs
Eliezer

cara vlw mesmo, irei estudalo, cria um artigo como criar componentes para o adiante tenho muitas ideias de componentes, mas nem um susesso em coloca-las em pratica, ja vou usar seu componente agora , é o que eu precisava mesmo

cara fui fazer o teste assim

 
  1. <?php
  2. $filtro1 = new TFilter('cargo_id','=', '2');
  3. $filtro2 = new TFilter('cargo_id','=', '8');
  4. $funcionario = new TDBFCombo('funcionario_id','mysql','Funcionarios','id','nome',$filtro1,$filtro2);
  5. ?>


ai deu o seguinte erro

Catchable fatal error: Object of class TFilter could not be converted to string in /home/alexandre/web-studio/factor_system/lib/adianti/database/TSqlSelect.class.php on line 76

to no aguardo abraços
GF

Cara. Deu erro porque você passou o argumento TFilter num parâmetro de ordenamento, que é uma String. Substitui pelo método construtor abaixo:

$funcionario = new TDBFCombo('funcionario_id','mysql','Funcionarios','id','nome','nome',$filtro1,$filtro2);

a tem que passar a ordenação tb, né
vlw muito obrigado cara
VL

Opa!
Fiz uma coisa muito semelhante em meu projeto.
Porém, alterei diretamente no componente padrão (sei que não é o adequado).
Adicionei uma lista de filtros ao TDBCombo.

 
  1. <?php
  2. public function __construct($name, $database, $model, $key, $value, $ordercolumn = NULL, $filters = NULL){
  3. // Antes da linha $repository->load...
  4. // define criterios de filtro (changed by Victor Silva)
  5. if ($filters)
  6. {
  7. foreach ($filters as $filter)
  8. {
  9. $criteria->add($filter);
  10. }
  11. }
  12. ?>


Para adicionar o filtro seria algo semelhante a isso
 
  1. <?php
  2. $filter[] = new TFilter('active', '=', 'T');
  3. $responsible = new TDBCombo('responsible', 'mysql', 'User', 'id', 'name', 'name', $filter);
  4. ?>


Saudações!