Campos - Lookup

Visão Geral

O campo Lookup, permite a seleção de dados usando como origem o objeto Browser. Esta documentação apresenta o campo Lookup e fornece dicas para utilização de recursos do campo.

Abaixo uma ilustração, que exemplifica uma das formas de renderização do campo:

Propriedades

Nome Categoria Descrição
Nome Identificação Nome do Campo
Descrição Identificação Descrição do Campo
Balão de Ajuda Aparência Texto a ser exibido no Balão de Ajuda, que aparece quando o ponteiro do mouse fica sobre o controle
Largura Layout Largura do campo em Pixels
Transformação de Texto Comportamento Selecione uma opção de transformação de texto. O texto será transformado durante a digitação no campo
Cancelar Submissão Comportamento Se estiver marcado, desabilita a submissão dos dados do formulário ao pressionar ENTER sobre o campo
Habilitar Editor Comportamento Habilita ou desabilita o editor do Lookup. Se estiver desabilitado, o usuário não poderá informar valores manualmente. Neste caso, será necessário que ele selecione um registro clicando no botão de seleção
Preenchimento Obrigatório Comportamento Se estiver marcado, o preenchimento do campo será obrigatório
Habilitado Comportamento Se estiver marcado, o campo estará habilitado para interação do usuário
Visível Comportamento Se estiver marcado, o campo será exibido em tela, caso contrário, o campo não será exibido, mas ainda assim poderá ser utilizado nos comandos SQL
Texto para campo vazio Comportamento Texto esmaecido que aparecerá dentro do campo antes do mesmo ser preenchido
Alvo Dados Selecione e configure o Browser Dinâmico que será aberto para procurar os dados na tela (ícone de lupa ao lado do campo)
Coluna de Origem Dados Seleciona uma coluna da fonte de dados do formulário. Este campo é utilizado para fazer o vinculo entre a query de origem e os campos da tela. Quando a página for aberta, a query será executada e vai preencher o campo com o valor da coluna selecionada

Eventos

Nome Descrição
LostFocus Disparado quando o campo perde o foco
PopupItemSelected Disparado quando um item de uma janela popup é selecionado
SelectedItemChanged Disparado quando um item é selecionado, sem um popup ter aberto

Janela de Alvo

Diferente de outros tipos de campos do LATROMI, que normalmente possuem a configuração de uma fonte de dados. O Lookup, tem uma lógica voltada a reutilização, sendo a escolha ideal para configurar fonte de dados essenciais, ou seja, coleções de dados sempre iguais (Ex.: CEP, Clientes, Empresa, etc).

Portanto, usa o objeto do Browser como meio de consumo e sua configuração no campo ocorre na Propriedade chamada Alvo, que ao clicar '...' no canto direito do campo é aberto a janela de alvo.

Configurando Browser Dinâmico para consumo

Ao abrir a Configuração de Lookup, será apresentado a ferramenta de busca de objetos, que conterá somente os Browsers Dinâmicos disponíveis para uso. Após a seleção do Browser, caso o objeto possua parâmetros, eles serão carregados na tabela ao final da janela.

Modos de renderização

Com um Browser alvo selecionado podemos escolher como o campo Lookup será renderizado e se comportará em tela. Veja abaixo as formas possíveis:

  • Popup:
    Essa forma de renderização é a padrão do componente, nela será renderizado um campo de texto à esquerda, com botão lupa fixado à direita.
    image

  • ComboBox:
    Essa opção se apropria da renderização e comportamentos do campo ComboBox. Com uma expansão de recurso onde é utilizado um Browser como fonte de dados.
    image

  • TagSelector:
    Essa opção se apropria da renderização e comportamentos do campo TagSelector. Com uma expansão de recurso onde é utilizado um Browser como fonte de dados.
    image

Colunas Valor & Exibição

Para concluir a configuração do campo Lookup temos que selecionar uma coluna de nosso Browser para ser usado como Valor e outra para ser usado como Exibição.

  • Coluna de Valor:
    Deve ser informado a coluna do Browser, que identifica o registro. Normalmente, será a Chave primária da tabela consumida pelo Browser.
    (Obrigatório para o funcionamento do Lookup)

  • Coluna de Exibição:
    Deve ser informado a coluna do Browser, que descreve o registro. Essa informação deve ser relevante para o usuário final poder decidir qual registro selecionar.
    (Obrigatório somente para os modos ComboBox e TagSelector)

Capturando colunas do Browser via argumentos de procedimento

Por padrão, o campo Lookup retorna apenas o identificador principal do item selecionado. Embora seja comum utilizar esse ID em uma operação de banco de dados (como um Record) para buscar as demais informações do registro, existe uma alternativa mais performática que evita consultas repetidas ao banco de dados.

Você pode capturar qualquer coluna da linha selecionada diretamente no evento de seleção. A plataforma reaproveita esse cache para injetar as informações, nos argumentos do procedimento, sem precisar executar uma nova leitura no banco.

Para utilizar esse recurso, basta vincular um procedimento ao evento PopupItemSelected ou SelectedItemChanged e declarar os Argumentos com exatamente os mesmos nomes das colunas do seu Browser Dinâmico.

Ao reconhecer a coincidência dos nomes, o próprio motor da plataforma localiza o registro no cache do servidor e repassa automaticamente os valores das colunas para dentro dos argumentos, disponibilizando-os para uso nas ações da tela (por exemplo, via marcações como {ARG.NomeDaColuna}).