4D v17.4

This

Página Inicial

 
4D v17.4
This

This  


 

This -> Resultado 
Parâmetro Tipo   Descrição
Resultado  Objeto in O elemento atual

O comando This retorna uma referência ao objeto atualmente sendo processado.

O comando foi criado principalmente para ser usado no contexto abaixo:

  • de uma list box associada à uma coleção
  • durante os eventos On Display Detail ou On Data Change.
Nesse contexto específico, o comando retorna uma referência ao elemento acessado pela list box para exibir a linha atual. Em outros contextos, o comando retorna Null.

Pode acessar todas as propriedades de elemento da coleção através de This.<propertyPath>. Por exemplo, This.Customers.lastName é uma rota válida à propriedade.

Nota: se o elemento da coleção for um valor escalar,  4D cria um objeto para isso com uma única propriedade valor. Assim, o valor do elemento está disponível através da expressão This.value.

Uma coleção de objetos, cada um com esta estrutura:

{  
<p>"ID": 1234
"name": "Xavier",  
"revenues": 47300,  
"employees": [  
             "Allan",  
             "Bob", 
             "Charlie"  
            ] 
},{  
"ID": 2563
"name": "Carla",  
"revenues": 55000,  
"isFemale": true
"employees": [  
             "Igor",  
             "Jane"  
            ] 
},...
 

Nesse list box, cada coluna refere a uma das propriedades do objeto, seja diretamente  (This.nome), indiretamente (This.employees.length), ou através de uma expressão (getPicture) na qual pode ser usada diretamente. A list box parece com isto:

O método de projeto GetPicture é executado automaticamente durante o evento On display detail:

  //Método GetPicture
 C_PICTURE($0)
 If(This.isFemale)
    $0:=Form.genericFemaleImage
 Else
    $0:=Form.genericMaleImage
 End if

Assim que o formulário é executado, você pode ver o resultado:

Se quiser exibir entidades da estrutura abaixo em uma list box:

Pode construir uma list box do tipo "Collection ou entity selection" com a definição abaixo:

Note que:

  • This.ID, This.Title e This.Date referem diretamente aos atributos correspondentes na dataclasse ds.Event.
  • This.meetings é um atributo relacionado (baseado no nome de relação  One To Many) que retorna uma seleção de entidades na dataclasse ds.Meeting.
  • Form.eventList é a seleção de entidade que é anexada ao list box. O código de inicalização pode ser colocado no evento de formulário on load:
     Case of
        :(Form event=On Load)
           Form.eventList:=ds.Event.all() //retorna uma seleção de entidade com todas as entidades
     End case

Quando o formulário tiver sido executado, a list box é preenchida automaticamente com a seleção de entidades:



Ver também 

Self

 
PROPRIEDADES 

Produto: 4D
Tema: Linguagem
Número 1470

This command can be run in preemptive processes

 
HISTÓRIA 

New
Criado por: 4D v17

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v17)
Manual de linguagem 4D ( 4D v17.1)
Manual de linguagem 4D ( 4D v17.2)
Manual de linguagem 4D ( 4D v17.3)
Manual de linguagem 4D ( 4D v17.4)