4D View Pro: Novos Comandos para Gerir Linhas e Colunas

As folhas de cálculo são grandes ferramentas versáteis. Desde painéis de instrumentos até à interface de entrada/saída, as folhas de cálculo fornecidas pelo 4D View Pro podem resolver rapidamente muitas situações encontradas pelos seus utilizadores finais.

Explicámos anteriormente utilizando a funcionalidade da tabela 4D View Pro para exibir e modificar colecções de dados. Utilizando as tabelas 4D View Pro, poderá ter de adicionar ou remover colunas mais tarde, dependendo das necessidades dos utilizadores finais. Para o fazer, a partir do 4D v19 R7, o 4D View Pro tem vários novos comandos para gerir as colunas e linhas da sua tabela. Vamos ver como funciona.

Gestão da tabela HDI

O primeiro passo antes de adicionar ou remover algumas colunas é criar uma tabela 4D View Pro. Para os exemplos abaixo, utilizaremos uma tabela 4D View Pro que exibe alguns dados de uma tabela de base de dados denominada “Pessoas”:

$context:=New object
$context.people:=ds.People.all().toCollection()

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

$parameter:=New object
$parameter.tableColumns:=New collection
$parameter.tableColumns.push(New object("name"; "Phone"; "dataField"; "Phone"))
$parameter.tableColumns.push(New object("name"; "Email"; "dataField"; "email"))
$parameter.tableColumns.push(New object("name"; "Country"; "dataField"; "Country"))

VP CREATE TABLE(VP Cells("ViewProArea"; 2; 1; 3; 1); "PeopleTable"; "people"; $parameter)

Inserir colunas numa tabela

O VP INSERT TABLE COLUMNS permite-lhe inserir uma coluna sempre que precisar dela na sua mesa. Por exemplo, se quiser exibir 2 novas colunas antes da primeira coluna da tabela 4D View Pro :

VP INSERT TABLE COLUMNS("ViewProArea"; "PeopleTable"; 0; 2;vk table insert before)
// 0 indicate the first column of the table.

blank

2 colunas vazias são agora adicionadas à tabela. Assim, agora vamos preenchê-las com os campos Primeiro Nome e Último Nome, graças ao comando VP SET TABLE COLUMN ATTRIBUTES:

$param:=New object
// Bind the column to the Firstname field from the datacontext
$param.dataField:="Firstname"
// Change the default name of the column to "First name"
$param.name:="First name"
VP SET TABLE COLUMN ATTRIBUTES("ViewProArea"; "PeopleTable"; 0; $param)

$param:=New object
// Bind the column to the Lastname field from the datacontext
$param.dataField:="Lastname"
// Change the default name of the column to "Last name"
$param.name:="Last name"
VP SET TABLE COLUMN ATTRIBUTES("ViewProArea"; "PeopleTable"; 1; $param)

blank

Inserir e remover filas

Da mesma forma, pode utilizar o VP INSERT TABLE ROWS comando para inserir filas vazias na sua mesa:

VP INSERT TABLE ROWS("ViewProArea"; "PeopleTable"; 1; 2)

blank

Lembre-se de que VP INSERT TABLE ROWS não acrescenta apenas elementos gráficos como VP INSERT TABLE COLUMNS. Quando VP INSERT TABLE COLUMNS acrescenta apenas colunas na folha, VP INSERT TABLE ROWS adiciona linhas na folha e cria 2 novas linhas no contexto da recolha dos seus dados.

No nosso exemplo, se utilizar VP Get data contextobtém a sua colecção de pessoas com 2 novas linhas vazias, people[1] e people[2]:

$data:=VP Get data context("ViewProArea")

blank

E se escrever alguma informação nas suas celas vazias:

blank

Os atributos correspondentes às suas novas informações são automaticamente adicionados. Aqui, people[1] foram preenchidos com detalhes:

$data:=VP Obter contexto de dados("ViewProArea")

blank

Se remover algumas filas, funciona da mesma forma. Por exemplo, se remover todas as linhas excepto as 2 primeiras, as linhas desaparecerão graficamente e no contexto de dados:

VP REMOVE TABLE ROWS("ViewProArea"; "contexttest"; 2; 10)

blank

$data:=VP Get data context("ViewProArea")

blank

Assim, a associação entre o contexto de dados e a tabela é uma forma fácil de gerir as suas colecções em 4D View Pro!

Consulte esta funcionalidade com o HDI acima e 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.