Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Trabalhando com TDBSeekButton Boa noite, Alguém consegue me explicar melhor com utilizar o componente TDBSeekButton? Eu tentei criar o campo no meu formulário, utilizando a explicação do livro (Página 240), mas não consegui entender muito bem. No meu formulário já tenho os campos criados (conforme anexo1), mas não sei como implementar o restante. Parte que já criei: $criteria = new TCriteria; $criteri...
FS
Trabalhando com TDBSeekButton  
Fechado
Boa noite,
Alguém consegue me explicar melhor com utilizar o componente TDBSeekButton? Eu tentei criar o campo no meu formulário, utilizando a explicação do livro (Página 240), mas não consegui entender muito bem. No meu formulário já tenho os campos criados (conforme anexo1), mas não sei como implementar o restante.

Parte que já criei:

$criteria = new TCriteria;
$criteria->add(new TFilter('id', '>', 1));
$criteria->add(new TFilter('id', '<', 5));
$criteria->setProperty('order', 'nome');


$cidades_id = new TDBSeekButton('cidade_id', 'jornal', 'form_Noticias', 'Cidades', 'nome','cidade_nome', $criteria);
$cidade_nome = new TEntry('cidade_nome');

Se eu clicar no botão pra buscar, já está listando as cidades, mas ao selecionar dá um erro porque obviamente falta mais código a ser implementado.

ERRO: (Fatal error: Cannot access empty property in C:xampphtdocsmeuprojetolibadiantibaseTStandardSeek.php on line 283)
Obrigado.

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 (6)


PD

Vamos lá:

Construtor da TDBSeekButton explicado:

__construct($name, $database, $form, $model, $display_field, $receive_key, $receive_display_field, TCriteria $criteria = NULL)

$name: Nome do próprio input do formulário
$database: Nome da base de dados que estamos buscando
$form: Nome do form (identificado no construtor do TForm ou TQuickForm)
$model: Nome da classe de modelo a ser buscada (TRecord)
$display_field: Nome do atributo da model que será exibido além do ID na janela a ser aberta
$receive_key: Nome do input do form que vai receber o ID após a seleção do registro. Usar o mesmo que o primeiro parâmetro.
$receive_display_field: Nome do input do form que vai receber o campo de display ($display_field).
$criteria: Critérios de filtro usados na janela de busca...

Verifique a ordem dos campos, está faltando coisa aí... ;-)

Att,
Pablo
FS

Boa noite Pablo,
Muito bem explicado, agora entendi 100% e já está funcionando.

Abraço.
FS

Tem só mais um detalhe Pablo, quando eu digito o id dou um TAB, não está preenchendo o campo receptor, somente preenche se eu localizar ele pela lupa. Deve ser algo simples que não estou identificando. Vou continuar procurando, caso seja simples para você me ajude faz favor.

Obrigado.
FS

Foi falta de atenção minha, o problema foi resolvido.

Muito obrigado.
JA

Como faço para preencher mais de dois campos usando TDBSeekButton?
RS

Boa Tarde...

Brilhante esplicação Pablo...funcionou bem no meu sistema

// campo para busca de produtos

$produtos_cod_pro = new TDBSeekButton('product_cod_pro', 'meubanco', 'form_vendas', 'produtos', 'descricao', 'product_cod_pro', 'product_name', $criteria );

$product_name = new TEntry('product_name');

$produtos_cod_pro->setAuxiliar($product_name);

Agora eu precisava trazer uma mais uma informação de model produtos que era o valor_venda! Tem como pegar mais valores, tipo, vou ter o codprod, descricao...blz...e o valor_venda...da pra trazer tambem?

Rodrigo