Preencher dinamicamente uma lista suspensa ou uma caixa de listagem

É possível preencher dinamicamente uma lista suspensa ou uma caixa de listagem com valores de uma fonte de dados.

Se houver um conjunto predeterminado e inalterável de valores possíveis, você poderá preencher uma lista suspensa ou uma caixa de listagem quando projetar o formulário. Consulte Uso de caixas de listagem e listas suspensas. Se houver um conjunto de valores que possa ser alterado, você poderá preencher dinamicamente uma lista suspensa ou uma caixa de listagem a partir de uma fonte de dados em tempo de execução. Se houver um conjunto grande de valores, armazená-lo em uma fonte de dados confere maior flexibilidade ao formulário.

Por exemplo, você pode preencher uma lista suspensa com uma lista de países de uma fonte de dados. Outro exemplo é preencher uma caixa de listagem com nomes de produtos em francês e submeter valores de dados em inglês para a fonte de dados.

Por exemplo, o esquema de conexão poderia ter o seguinte definido para uma lista:

<form> 
      <lists> 
         <item uiname="item1" token="value1"/> 
         <item uiname="item2" token="value2"/> 
      </lists> 
</form>

E o arquivo de dados apontado poderia ter o seguinte definido para uma lista:

<form> 
      <lists> 
         <item uiname="MasterCard" token="MC"/> 
         <item uiname="Visa" token="VS"/> 
         <item uiname="Eurocard" token="EC"/> 
         <item uiname="Special Card" token="SC"/> 
      </lists> 
</form>

Quando você une o arquivos de dados ao design de formulário, MasterCard deveria ser exibido como uma das opções da lista, mas quando o formulário é submetido, o token MC é enviado para a fonte de dados.

Se você tiver uma conexão de dados OLEDB, poderá usar o objeto de Lista Suspensa de Dados ou o objeto de Caixa de Listagem de Dados da categoria Personalizado da paleta Biblioteca de objetos para preencher uma lista suspensa ou uma caixa de listagem com dados da coluna de uma tabela. Consulte Preencher dinamicamente uma lista suspensa ou uma caixa de listagem em uma conexão de dados OLEDB.

Antes de executar essa tarefa, verifique se as seguintes configurações estão aplicadas:

  1. Na paleta Biblioteca de objetos, clique na categoria Padrão e arraste uma Lista suspensa ou uma Caixa de listagem até o design de formulário.

    Por exemplo, insira uma Lista suspensa.

  2. (Opcional) Na paleta Objeto, clique na guia Campo e digite uma legenda para o objeto na caixa Legenda.

    Por exemplo, digite Cartão de crédito.

  3. Conclua uma destas ações:

    • Clique no rótulo ativo Itens de lista, na guia Campo da paleta Objeto.

    • Clique no rótulo ativo Especificar valores de item, na guia Vínculo da paleta Objeto.

    Nota: Para facilitar o uso, os rótulos ativos Itens de lista e Especificar valores de item exibem a mesma caixa de diálogo Propriedades dinâmicas.
  4. Selecione a conexão de dados.

    Nota: Se você ainda não estiver conectado a uma fonte de dados, Vínculo de dados padrão será a única seleção disponível na lista Conexão de dados.
  5. Clique no triângulo ao lado da caixa Itens e selecione um vínculo.

    O vínculo selecionado deve ser um valor de dados repetitivo ou um grupo para que a lista suspensa ou a caixa de listagem mostre mais de um item.

    Por exemplo, selecione lists > item.

    A seguinte string é exibida na caixa Itens:

    $record.lists.item[*]

    Digite essa string na caixa Itens em vez de selecioná-la.
    Nota: Em conexões de dados OLEDB, a caixa Itens não fica disponível. Use as caixas Texto do item e Valor do item para selecionar as colunas de banco de dados a serem usadas para preencher a lista.
  6. Para mostrar um nome de item amigável em tempo de execução, clique no triângulo ao lado da caixa Texto do item e selecione um vínculo.

    Por exemplo, selecione @uiname para mostrar MasterCard.

    O arquivo de dados apontado pode ter um valor de dados repetitivo:

    <form> 
          <pymt> 
             <cc type="MC">MasterCard</cc> 
             <cc type="VS">Visa</cc> 
          </pymt> 
    </form>
    Nota: Se você selecionar #data, a lista suspensa mostrará MasterCard.
  7. (Opcional) Para salvar um valor diferente do rótulo Texto do item na fonte de dados, clique no triângulo ao lado da caixa Valor do item e selecione um vínculo.

    Por exemplo, selecione @token para salvar MC no arquivo de dados.

    O arquivo de dados apontado pode ter um valor de dados repetitivo:

    <form> 
          <pymt> 
             <cc type="MC">MasterCard</cc> 
             <cc type="VS">Visa</cc> 
          </pymt> 
    </form>
    Nota: Se você selecionar #data, a lista suspensa mostrará MC.
  8. Clique em OK.

    Depois que o vínculo é definido, um pequeno ícone de link é exibido com o rótulo ativo.

  9. Exiba o formulário na guia Visualizar PDF.