Lançado Adianti Framework 7.6!
Clique aqui para saber mais
setTransformer com TDBcombo Amigos, setTransformer funciona com TDBcombo ? ou somente com Datagrids ? Abração a todos. ...
UP
setTransformer com TDBcombo  
Fechado
Amigos, setTransformer funciona com TDBcombo ? ou somente com Datagrids ?

Abração a todos.


Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (7)


FC

Entendi não ? vc quer formatar os itens da combo coloca no manual ?
UP

Exato, é porque tenho registros com siglas no BD, e gostaria de apresentar com o significado da sigla.


Ex. No bd está L, quero que aparece na combro como lembrete.
C, quero que aparece como Confirmação.

Eu até tentei fazer como faço nas datagrids mais nao deu.


$type = new TDBCombo('type','easycontact','Contact','tipo','tipo');
$type->setSize(40);
$type->setTransformer(array($this,'transformerFormType'));


public function transformerFormType($value, $object, $row)
{
if ($value == "L") $value = "Lembrete";
if ($value == "C") $value = "Confirmação";

return $value;
}


FC

faz manual usa uma TCombo no laço vc altera o valor.

exemplo www.adianti.com.br/framework_files/tutor/index.php?class=FormDBManua

mais ou menos assim
foreach ($collection as $object)
{
if ($object->id == 'L'){
$object->name = 'Lembrete';
}
$items[$object->id] = $object->name;
}
UP

Eu queria, fazer desta forma porque estes dados são dinâmicos. Mais o jeito vai ser fazer da outra forma mesmo
PD

Udson,

No parâmetro da TDBCombo que você passa o atributo a ser exibido, passe algo dinâmico.
Ex:
new TDBCombo('pessoa_id', 'Banco', 'Pessoa', 'id', 'nome_transformado');

Ali no parâmetro "nome_transformado", como não existe esse atributo,
o framework vai buscar po rum get_nome_transformado() na model Pessoa.
Então, basta você criar esse método que realiza a transformação.

Att,
Pablo
UP

Hummm, Beleza.

Entendi.

Muito Obrigado Pablo.