Saltar para o conteúdo principal
Versão: 19

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

For a list of properties supported by column objects, please refer to the Column Specific Properties section.

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 é duplamente clicada e a propriedade Duplo clique na linha está definida como "Editar Registro" ou "Exibir Registro".

Gramática JSON​

NomeTipo de dadosValores possíveis
detailFormstring
  • Nome (string) da tabela ou formulário projeto
  • Caminho POSIX (cadeia de caracteres) para um ficheiro .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.

    Para as duas últimas ações, o evento do formulário On Open Detail também é gerado. 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


    Ressaltar conjunto​

    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 sendo incrementado conforme o número de list box no formulário. Se necessário, pode alterar o conjunto predefinido. Pode ser um conjunto local, de processo ou entre processos (recomendamos o uso de um conjunto local, por exemplo, $LBSet, para limitar o tráfego de rede). É 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


    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 programação; consulte a seção "List Box" no manual da linguagem 4D.

    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


    Número de colunas trancadas​

    Define o número de colunas do list box.

    Você pode adicionar ou remover colunas dinamicamente por 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


    Array controle linha​

    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. Também pode ser designado através do 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. Cada elemento do array de controlo de linha define o estado da interface da linha correspondente no 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. Os comandos de linguagem, mais especificamente LISTBOX Get number of rows ou LISTBOX GET CELL POSITION, não consideram o estado exibido/oculto das linhas. Por exemplo, em um list box com 10 linhas em que as primeiras 9 linhas estão ocultas, LISTBOX Get number of rows retorna 10. 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). As áreas de entrada de texto digitável não são mais digitáveis, a menos que a opção Single-Click Edit esteja ativada. 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


    Modo seleção​

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

    • Nenhum: as linhas não podem ser selecionadas se esse modo for escolhido. Clicar na lista não terá efeito, a menos que a opção Single-Click Edit esteja ativada. As teclas de navegação só fazem a lista rolar, o evento formulário On Selection Change não é gerado.
    • Simples: uma linha de cada vez pode ser selecionada neste modo. Ao clicar em uma linha, ela será selecionada. A Ctrl+click (Windows) or Command+click (macOS) on a row toggles its state (between selected or not).
      The Up and Down arrow keys select the previous/next row in the list. As outras teclas de navegação percorrem a lista. O evento formulário On Selection Change é gerado sempre que a linha atual é alterada.
    • Múltiplo: 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