Saltar para o conteúdo principal
Versão: 21 R3

List Box


Colunas​

Coleção de colunas do list box.

Gramática JSON​

NomeTipo de dadosValores possíveis
columnscolecção de objectos colunaContém as propriedades das colunas de list box

Para obter uma lista de propriedades compatíveis com os objetos coluna, consulte a seção Propriedades específicas da coluna.

Objectos suportados​

List Box


Nome formulário detalhe​

List box do tipo selecção

Especifica o formulário a ser usado para modificar ou exibir registros individuais do list box.

O formulário especificado é apresentado:

  • ao usar as ações padrão Add Subrecord e Edit Subrecord aplicadas à list box (consulte Usando ações padrão),
  • quando uma linha for clicada duas vezes e a propriedade Duplo clique em linha é definida como "Editar registro" ou "Exibir registro".

Gramática JSON​

NomeTipo de dadosValores possíveis
detailFormstring
  • Nome (string) do formulário da tabela ou do projeto
  • Caminho POSIX (string) para um arquivo .json que descreve o formulário
  • Objeto que descreve o formulário
  • Objectos suportados​

    List Box


    Duplo clique em linha​

    List box do tipo selecção

    Define a ação a ser executada quando um usuário clica duas vezes em uma linha no list box. As opções disponíveis são:

    • Não fazer nada (padrão): clicar duas vezes em uma linha não aciona nenhuma ação automática.
    • Editar registro: clicar duas vezes em uma linha exibe o registro correspondente no formulário de detalhes definido para o list box. O registo é aberto em modo de leitura-escrita para poder ser modificado.
    • Exibir registro: idêntico à ação anterior, exceto pelo fato de que o registro é aberto no modo somente leitura, de modo que não pode ser modificado.

    > Clicar duas vezes em uma linha vazia é ignorado nos list boxes.

    Independentemente da ação selecionada/escolhida, o evento de formulário On Double clicked é gerado.

    For the last two actions, the On Open Detail form event is also generated. On Close Detail é gerado quando um registro exibido no formulário detalhado associado à list box está prestes a ser fechado (independentemente de o registro ter sido modificado ou não).

    Gramática JSON​

    NomeTipo de dadosValores possíveis
    doubleClickInRowActionstring"editSubrecord", "displaySubrecord"

    Objectos suportados​

    List Box

    Comandos​

    LISTBOX Get property - LISTBOX SET PROPERTY


    Highlight Set​

    List box do tipo selecção

    Esta propriedade é usada para especificar o conjunto a ser usado para gerenciar registros destacados na caixa de listas (quando a fonte de dados Arrays é selecionada, um array booleano com o mesmo nome que a caixa de lista é usada).

    O 4D cria um conjunto padrão chamado ListBoxSetN, em que N começa em 0 e é incrementado de acordo com o número de caixas de listagem no formulário. Se necessário, pode alterar o conjunto predefinido. Se necessário, pode alterar o conjunto predefinido. É então mantido automaticamente por 4D. Se o usuário seleciona uma ou mais linhas no list box, o conjunto é atualizado imediatamente. Se você quiser selecionar uma ou mais linhas por programação, poderá aplicar os comandos do tema "Configurações" a este conjunto.

    • O estado destacado das linhas da lista e o estado destacado dos registros da tabela são completamente independentes.
    • Se a propriedade "Destacar conjunto" não contiver um nome, não será possível fazer seleções no list box.

    Gramática JSON​

    NomeTipo de dadosValores possíveis
    highlightSetstringNome do conjunto

    Objectos suportados​

    List Box

    Comandos​

    LISTBOX Get property - LISTBOX SET PROPERTY


    Colunas bloqueadas e colunas estáticas​

    As colunas bloqueadas e as colunas estáticas são duas funcionalidades separadas e independentes nos list boxes:

    • As colunas bloqueadas sempre são exibidas à esquerda do list box; elas não rolam horizontalmente.
    • As colunas estáticas não podem ser movidas por arrastar e largar dentro do list box.

    É possível definir colunas estáticas e bloqueadas por meio de programação; consulte a seção "Caixa de listagem" no manual 4D Language Reference.

    Estas propriedades interagem da seguinte forma:

    • Se definir colunas que são apenas estáticas, estas não podem ser deslocadas.

    • Se definir colunas bloqueadas, mas não estáticas, pode ainda alterar a sua posição livremente na área bloqueada. No entanto, uma coluna bloqueada não pode ser movida para fora dessa área bloqueada.

    • Se você definir todas as colunas da área bloqueada como estáticas, não poderá movê-las na área bloqueada.

    • Você pode definir uma combinação de colunas bloqueadas e estáticas de acordo com suas necessidades. Por exemplo, se você definir três colunas bloqueadas e uma coluna estática, o usuário poderá trocar as duas colunas mais à direita na área bloqueada (já que somente a primeira coluna é estática).

    Número de colunas estáticas​

    Número de colunas que devem permanecer permanentemente exibidas na parte esquerda do list box, mesmo quando o usuário rolar as colunas horizontalmente.

    Gramática JSON​

    NomeTipo de dadosValores possíveis
    lockedColumnCountintegermínimo: 0

    Objectos suportados​

    List Box

    Número de colunas​

    Número de colunas que não podem ser movidas durante a execução.

    Gramática JSON​

    NomeTipo de dadosValores possíveis
    staticColumnCountintegermínimo: 0

    Objectos suportados​

    List Box

    Comandos​

    LISTBOX Get locked columns - LISTBOX Get static columns - LISTBOX SET LOCKED COLUMNS - LISTBOX SET STATIC COLUMNS


    Número de colunas trancadas​

    Define o número de colunas do list box.

    Você pode adicionar ou remover colunas dinamicamente por meio de programação, usando comandos como LISTBOX INSERT COLUMN ou LISTBOX DELETE COLUMN.

    Gramática JSON​

    NomeTipo de dadosValores possíveis
    columnCountintegermínimo: 1

    Objectos suportados​

    List Box

    Comandos​

    LISTBOX DELETE COLUMN - LISTBOX Get number of columns - LISTBOX INSERT COLUMN - LISTBOX INSERT COLUMN FORMULA


    Row Control Array​

    List box do tipo array

    Um array 4D que controla a apresentação das linhas do list box.

    Pode definir as propriedades de interface "oculto", "desativado" e "selecionável" para cada linha de um list box baseado num array utilizando este array. Ele também pode ser designado usando o comando LISTBOX SET ARRAY.

    O array de controlo de linhas deve ser do tipo Longint e incluir o mesmo número de linhas que o list box. O array de controlo de linhas deve ser do tipo Longint e incluir o mesmo número de linhas que o list box. Três propriedades de interface estão disponíveis usando constantes no tema constante "List Box":

    ParâmetrosValorComentário
    lk row is disabled2A linha correspondente é desactivada. O texto e os controlos, como as caixas de verificação, estão esbatidos ou a cinzento. As áreas de entrada de texto inserível já não são inseríveis. Valor padrão: Activado
    lk row is hidden1A linha correspondente é ocultada. A ocultação de linhas apenas afeta a visualização do list box. As linhas ocultas ainda estão presentes nos arrays e podem ser gerenciadas pela programação. A linha correspondente é ocultada. A ocultação de linhas apenas afeta a visualização do list box. Do ponto de vista do usuário, a presença de linhas ocultas em um list box não é visivelmente visível. Somente as linhas visíveis podem ser selecionadas (por exemplo, usando o comando Selecionar tudo). Valor padrão: Visível
    lk row is not selectable4A linha correspondente não é selecionável (não é possível realçar). A linha correspondente não é selecionável (não é possível realçar). No entanto, os controlos como as caixas de verificação e as listas continuam a funcionar. Esta definição é ignorada se o modo de seleção do list box é "Nenhum". Valor por defeito: Selecionável

    Para alterar o estado de uma linha, você só precisa definir a(s) constante(s) apropriada(s) para o elemento de array correspondente. Por exemplo, se não quiser que a linha #10 seja selecionável, você pode digitar:

    aLControlArr{10}:=lk row is not selectable

    É possível definir várias propriedades de interface de uma só vez:

    aLControlArr{8}:=lk row is not selectable + lk row is disabled

    Observe que a definição das propriedades de um elemento substitui quaisquer outros valores desse elemento (se não forem redefinidos). Por exemplo:

    aLControlArr{6}:=lk row is disabled + lk row is not selectable
    //define a linha 6 como desativada E não selecionável
    aLControlArr{6}:=lk row is disabled
    //define a linha 6 como desativada mas selecionável novamente

    Gramática JSON​

    NomeTipo de dadosValores possíveis
    rowControlSourcestringNome do array de controlo de linha

    Objectos suportados​

    List Box

    Comandos​

    LISTBOX Get array - LISTBOX GET ARRAYS - LISTBOX SET ARRAY


    Modo seleção​

    Designa a opção que permite aos utilizadores selecionar linhas:

    • Nenhum: Linhas não podem ser selecionadas se esse modo for escolhido. Clicar na lista não terá efeito, a menos que a opção Edição de um clique esteja ativada. As teclas de navegação só fazem a lista rolar, o evento de formulário Ao selecionar mudança não é gerado.
    • Simples: Uma linha de cada vez pode ser selecionada neste modo. Ao clicar em uma linha, ela será selecionada. Um Ctrl+clique (Windows) ou Command+clique (macOS) em uma linha alterna seu estado (entre selecionado ou não).
      As teclas de seta para cima e para baixo selecionam a linha anterior/seguinte na lista. As outras teclas de navegação percorrem a lista. O evento de formulário On Selection Change é gerado sempre que a linha atual é alterada.
    • Multiplique: Várias linhas podem ser selecionadas simultaneamente neste modo.

    Gramática JSON​

    NomeTipo de dadosValores possíveis
    selectionModestring"multiple", "single", "none"

    Objectos suportados​

    List Box

    Comandos​

    LISTBOX Get property - LISTBOX SET PROPERTY