Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
Manual SeekButton Olá Pessoal! Passei parte do dia tentando implementar algo, mas, não consegui, gostaria de colocar um Manual SeekButon dentro do Desiger, até onde pude ver ele monta um standard Seek, gostaria de fazer algo parecido com o que há no exemplo do tutor no que diz respeito ao seek. Em um formulário, preciso selecionar um usuário, mas, no retorno, gostaria de ter além do ID dele, o nome tam...
MD
Manual SeekButton  
Fechado
Olá Pessoal!

Passei parte do dia tentando implementar algo, mas, não consegui, gostaria de colocar um Manual SeekButon dentro do Desiger, até onde pude ver ele monta um standard Seek, gostaria de fazer algo parecido com o que há no exemplo do tutor no que diz respeito ao seek.

Em um formulário, preciso selecionar um usuário, mas, no retorno, gostaria de ter além do ID dele, o nome também em um campo não editável para que se possa verificar o usuário.

Além disso, gostaria de uma certa integração entre dois campos de seek, no primeiro seleciono o usuário, e no segundo, com o usuário já selecionado, vejo somente os grupos aos quais ele pertence.

Alguma idéia?

Desde já agradeço a atenção.

Um abraço!

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (5)


MD

Opá!

Acho que encontrei o exemplo que procurava... hehe

No tutor há a classe DesignedFormView

Vou testar o exemplo.
MD

Graças.... hehe

Consegui fazer o que desejava!

Mas, ainda tenho a duvida, há como "integrar" dois seek buttons?

Grato desde já!
GF

Olá Marco.

Claro que dá! Não entendi por que você quer integrar dois seek buttons. Tens como apontar o motivo, quem sabe possa te ajudar.

Valeu?
MD

Olá!

Então, a questão de retornar também o nome do usuário além do seu ID já foi resolvido.

Na integração dos seekbuttons, vou usar um outro exemplo para poder ser mais especifico.

Imagine o cadastro de usuários e contatos, tenho uma tabela para usuários e outra para contatos, um mesmo usuário pode ter n contatos.

Em um determinado form, desenhado no designer, quero colocar dois seekbuttons um para procurar o usuário, e outro para buscar o contato principal por exemplo, no caso do segundo seek, gostaria que ele mostrasse apenas os contatos do usuário em questão, não todos os contatos da tabela de contatos.

Tentei fazer algo com o SeekButtonManual, mas, até onde vi, dentro do designer, o que é construido é um SeekButtonStandard.

Agradeço a atenção desde já.
PD

Oi Marco,

Sim, o seek button que vem no designer é o Standard. O que dá pra fazer é enxertar um seek manual no Studio via programação:

  1. <?php
  2. class ...
  3. {
  4.     private $form;
  5.     function __construct()
  6.     {
  7.         parent::__construct();
  8.         $this->form = new TForm;
  9.         try
  10.         {
  11.             $ui = new TUIBuilder(500,300);
  12.             $ui->setController($this);
  13.             $ui->setForm($this->form);
  14.             $ui->parseFile('app/forms/sample.form.xml');
  15.             
  16.             $obj = new TSeekButton('nome-do-campo');
  17.             $ui->put($obj40,40); // coluna e linha
  18.             // Você só terá de adicionar o campo ao setfields(), caso contrário, ele não passará no POST:
  19.             $fields $ui->getFields();
  20.             $fields[] = $obj;
  21.             $this->form->setFields($fields);
  22.         }
  23.     }
  24. }
  25. ?>


Sobre a integração, o método onSelect() das seeks manuais, quando disparado via saída do campo código (onBlur), recebe todos os dados do formulário serializado. Você poderia usar ali uma informação já preenchida pelo usuário.

Outra coisa que vc poderia fazer é memorizar o cliente da primeira seek na sessão, e na segunda seek observar isso. Mas por outro lado, se o cara não clicar na primeira seek, não terá a variável da sessão...

E para finalizar, a próxima versão (que está no forno), terá mais funcionalidades para alterar dinamicamente um campo com base no valor dos outros via ajax.

abraços,
Pablo