4D View Pro: Povoar as suas folhas com um contexto de dados

Tradução automática de Deepl

4D View Pro oferece-lhe uma nova forma de carregar os seus dados e criar os seus modelos: o contexto dos dados. Permite-lhe criar o seu documento com marcadores de lugar e preenchê-los, definindo este contexto de dados.

Com apenas algumas linhas de código, é possível exibir objectos ou colecções sem os autorizar primeiro com VP SET CUSTOM FUNCTION! Vamos mergulhar nos detalhes.

Contexto de dados HDI 4DVP

Criar um documento com os titulares dos lugares

Primeiro, é necessário criar um documento com os seus atributos de objecto. Por exemplo, se utilizar um objecto com 2 atributos, Primeiro Nome e Último Nome, pode criar dois marcadores de lugar com o VP SET BINDING PATH comando:

VP SET BINDING PATH(VP Cell("ViewProArea"; 0; 0); "Firstname")
VP SET BINDING PATH(VP Cell("ViewProArea"; 0; 1); "Lastname")

Nenhum valor aparece na sua folha porque o contexto dos dados ainda não está definido. Para verificar se as suas células estão correctamente encadernadas, vá para o separador DADOS da interface da Fita e clique no botão Encadernação da Folha. Os nomes dos seus atributos aparecerão entre parênteses:

Contexto dos dados

Agora que o seu modelo está pronto, basta definir o seu contexto de dados com o seu objecto usando VP SET DATA CONTEXT:

$object:=New object
$object.Firstname:="John"
$object.Lastname:="Smith"
VP SET DATA CONTEXT("ViewProArea"; $object)

Assim, o modelo é actualizado automaticamente:

blank

Evidentemente, o utilizador pode modificar os dados:

blank

Neste caso, não há problema; basta usar o VP Get data context método para recuperar o seu objecto com as modificações:

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

//$object={Firstname:Judith,Lastname:Smith}

Injecção de dados em folhas de dados

Se passar uma colecção para o seu contexto de dados, esta colecção será automaticamente vinculada à folha. Se a opção autoGenerateColumns do VP SET DATA CONTEXT é definido para true, a colecção é automaticamente exibida na folha.

Por exemplo, se quiser exibir uma tabela de base de dados, basta escrever:

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

VP SET DATA CONTEXT("ViewProArea"; $people; New object("autoGenerateColumns"; True)

Obtém:

blank

O número de colunas e linhas é calculado automaticamente, e os nomes das colunas são os nomes dos campos da tabela.

Note que se autoGenerateColumns não estiver definido como verdadeiro, nenhum dado é exibido!

Verifique o IDH acima para ver estes comandos em acção. Além disso, certifique-se 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.