4D View Pro: Mostrar as suas Colecções como Tabelas

Tradução automática de Deepl

Já o conhece; 4D View Pro permite-lhe facilmente carregar e exibir dados em folhas de cálculo.
4D v19 R6 traz notícias interessantes. Este post no blogue irá mostrar-lhe a nova funcionalidade de tabela que lhe permite fazer muito mais e beneficiar de propriedades adicionais como cabeçalhos, tamanho da tabela, linha de resumo, ordenação de colunas, filtros, e muito mais. Irá também descobrir como carregar rapidamente dados de classes e colecções de dados. E não perca a demonstração, que fornece um exemplo completo e alguns gráficos visuais como bónus.

HDI: 4DVP Criar tabela

Há duas maneiras de criar uma mesa:

Diga olá ao VP CREATE TABLE

povoar manualmente uma mesa

Em primeiro lugar, é necessário criar uma tabela sem fonte. Use a nova tabela de VP CREATE TABLE e passar-lhe como parâmetro o intervalo onde a tabela deve aparecer:

VP CREATE TABLE(VP Cells("ViewProArea"; 1; 1; 3; 4); "EmptyTable")

Cria uma tabela vazia com colunas de nome por defeito:

Agora só temos de preencher a nossa tabela com a ajuda do VP SET VALUES comando:

$data:=New collection
// Titles 
$data.push(New collection("First Name"; "Last Name"; "Score"))
// Data
$data.push(New collection("Andrea"; "Butterfield"; "70"))
$data.push(New collection("Faye"; "Back"; "100"))
$data.push(New collection("Shane"; "Frazier"; "50"))

VP SET VALUES(VP Cell("ViewProArea"; 1; 1); $data)

A tabela é agora preenchida com os valores presentes na colecção:

blank

Pode agora filtrar ou ordenar a tabela facilmente:

blank

Povoar uma tabela a partir do contexto dos dados

Para exibir uma selecção de entidade como uma tabela:

blank

precisa de converter a sua selecção de entidade numa colecção e adicioná-la ao contexto de dados da sua folha, definir as colunas, e criar a sua tabela.

Primeiro, deve criar um contexto de dados contendo uma recolha dos dados que precisa de mostrar. No exemplo abaixo, lemos os dados de uma base de dados e convertemo-los numa colecção, depois encapsulamo-los num objecto:

$p:=ds.People.all().toCollection()

$data:=New object
$data.people:=$p

VP SET DATA CONTEXT("ViewProArea"; $data)

Agora que o contexto de dados é criado, definimos quais as colunas a mostrar:

$parameter:=New object
$parameter.tableColumns:=New collection
$parameter.tableColumns.push(New object("name"; "First name"; "dataField"; "Firstname"))
$parameter.tableColumns.push(New object("name"; "Last name"; "dataField"; "Lastname"))
$parameter.tableColumns.push(New object("name"; "Email"; "dataField"; "email"))
$parameter.tableColumns.push(New object("name"; "Birthday"; "dataField"; "Birthday"; "formatter"; "dddd dd MMMM yyyy"))
$parameter.tableColumns.push(New object("name"; "Country"; "dataField"; "Country"))

Tudo o que resta é utilizar o VP CREATE TABLE indicando que queremos mostrar a recolha contida no atributo pessoas do contexto dos dados:

// Table creation
VP CREATE TABLE(VP Cells("ViewProArea"; 1; 1; $parameter.tableColumns.length; 1); "ContextTable"; "people"; $parameter)
// Automatic column sizing
VP COLUMN AUTOFIT(VP Column($area; 0; 4))

blank

Verifique o IDH acima para ver estes comandos em acção. Além disso, não deixe de ler a documentação para mais detalhes!

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.