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.
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.
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)
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)
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")
E se escrever alguma informação nas suas celas vazias:
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")
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)
$data:=VP Get data context("ViewProArea")
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!