UP
setTransformer com TDBcombo
Fechado
Amigos, setTransformer funciona com TDBcombo ? ou somente com Datagrids ?
Abração a todos.
Abração a todos.
Entendi não ? vc quer formatar os itens da combo coloca no manual ?
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;
}
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;
}
Eu queria, fazer desta forma porque estes dados são dinâmicos. Mais o jeito vai ser fazer da outra forma mesmo
Veja estes exemplos se ajuda:
www.adianti.com.br/framework_files/tutor/index.php?class=FormStaticS
www.adianti.com.br/framework_files/tutor/index.php?class=FormDBManua
www.adianti.com.br/framework_files/tutor/index.php?class=FormDBAutoS
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
Hummm, Beleza.
Entendi.
Muito Obrigado Pablo.