Mostrar uma colecção numa caixa de listagem

Tradução automática de Deepl

Recentemente, 4D introduziu um novo tipo de variável: colecções, assim como um grande conjunto de métodos para as manipular. Com 4D v17, as possibilidades de colecções estão a tornar-se maiores ao serem capazes de exibir facilmente o conteúdo de uma colecção. Como? Listar caixas do tipo de colecção!

A grande vantagem da utilização de colecções é que se pode exibir dados heterogéneos na mesma coluna. Por exemplo, digamos que tem uma colecção com um campo “livre” para o utilizador final. Dependendo do contexto, por vezes o utilizador pode introduzir um número, por vezes um texto, por vezes uma data. Agora pode exibir tudo numa coluna de caixa de listagem sem ter de forçar um elenco.

Não há necessidade de converter a sua colecção em matriz. Sem código. Simplesmente fácil!

Caixas de listagem de colecções: exemplo

Como configurar a caixa de listagem

Primeiro, escolher a caixa de listagem tipo Colecção”. Depois, como fonte de dados, introduzir uma variável ou uma expressão que devolva uma colecção.

Deve então definir a fonte de dados para cada coluna da sua caixa de listagem. É simples, basta introduzir uma expressão para cada coluna da lista de propriedades, como faria para uma caixa de listagem do tipo de selecção actual.

Para o fazer, terá de utilizar o novo This comando. Retorna um objecto que contém o elemento que está actualmente a ser redesenhado. Numa caixa de listagem, este comando é avaliado para cada linha e permite o acesso a todos os atributos do elemento de colecção actual.

Conteúdo Formatação utilizando uma expressão

Enquanto uma caixa de listagem de tipo de selecção permite introduzir uma expressão para definir a cor da fonte, a cor de fundo, o estilo da fonte, o estado seleccionável e activado, ainda é necessário indicar um método de projecto ou uma expressão para cada acção. Com caixas de listagem de tipo de colecção, é ainda mais fácil, pode simplesmente definir todos estes parâmetros num método de projecto SINGLE, a expressão meta info.

A meta expressão é avaliada para cada linha exibida e devolve um objecto que contém os seguintes atributos:

  • fill: introduzir uma cor CSS para definir a cor de fundo
  • stroke: introduzir uma cor CSS para definir a cor da fonte
  • fontStyle: definir valor como “itálico” para aplicar o estilo itálico, senão defini-lo como “normal
  • fontWeight: definir valor como “negrito” para aplicar o estilo negrito, senão defini-lo como “normal”.
  • textDecoration: definir o valor como “sublinhado” para aplicar o estilo de sublinhado, ou então defini-lo como “normal”.
  • unselectable: introduzir um booleano para definir se a fila é seleccionável ou não
  • disabled: entrar num booleano para activar ou desactivar a fila.

Se o atributo não existir, 4D utiliza o valor por defeito.

Por exemplo, é possível ligar a meta expressão “Decorar” à caixa de listagem. O método “Decorar” contém o seguinte código:

If (Isto.value>10)
$0 :=New object("fill"; "red"; "stroke"; "white"; "fontWeight"; "bold")
Else
$0 :=New object("fill"; "blue")
End if

Neste exemplo, se o atributo “valor” for superior a 10, o fundo da linha será vermelho com texto branco em negrito. Se o atributo “valor” for inferior a 10, o fundo de fila será azul.

Recuperar o(s) elemento(s) seleccionado(s)

Com as propriedades “Item actual ” e “Posição actual do item”, pode recuperar os objectos do elemento actual da colecção, bem como a sua posição.

A propriedade “Itens seleccionados” permite-lhe recuperar uma colecção dos itens seleccionados da caixa de listagem. Pode até definir esta nova colecção como a fonte de dados para outra caixa de listagem. Assim, sem uma única linha de código, pode exibir o subconjunto de uma caixa de listagem noutra.

blank

no lado dos comandos 4D

Os comandos 4D do tema “Caixa de listagem” foram actualizados para suportar o tipo de colecção. Alguns exemplos: LISTBOX SORT COLUMN, LISTBOX INSERT COLUMN FORMULA, LISTBOX SET COLUMN FORMULAetc. Para mais detalhes, consulte a lista completa dos comandos da caixa de lista 4D.

Vanessa Talbot
• Proprietário do produto - Vanessa Talbot entrou ao time 4D Program em Junho de 2014 como Proprietária do Produto e está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Desde sua chegada, trabalhou na definição de funcionalidades chaves em 4D. Trabalhou na maioria das novas funcionalidades multithread preemptivo e também em um tema muito complexo: a nova arquitetura para a aplicação engined. Vanessa é formada pela Telecom Saint-Etienne. Começou sua carreira no Instituto de Investigação Criminal como desenvolvedora do departamento audiovisual. Também trabalhou em meios de comunicação e no âmbito médico como especialista em assistência técnica, produção e documentação de novas funcionalidades.