Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
This
|
This -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
Resultado | Objeto |
![]() |
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:
Nota: se usar uma coleção de valores escalares em uma list box, 4D cria um objeto para isso com uma única propriedade valor. Assim, o valor do elemento é retornado através da expressão não-atribuível This.value.
Dentro de contextos compatíveis, deve acessar propriedades de elementos de objeto/coleção ou atributos de entidade através de This.<propertyPath>. Por exemplo, This.name ou This.Customers.lastName são rotas válidas para objetos, elementos ou propriedades de entidade.
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
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:
Quando o formulário tiver sido executado, a list box é preenchida automaticamente com a seleção de entidades:
Se quiser usa um método de projeto como uma fórmula encapsulada em um objeto:
C_OBJECT($person)
$person:=New object
$person.firstName:="John"
$person.lastName:="Smith"
$person.greeting:=New formula(Greeting)
$g:=$person.greeting("hello") // retorna "hello John Smith"
$g:=$person.greeting("hi") // retorna "hi John Smith"
Com o método de projeto Greeting:
C_TEXT($0;$1)
$0:=$1+" "+This.firstName+" "+This.lastName
Produto: 4D
Tema: Linguagem
Número
1470
Criado por: 4D v17
Modificado: 4D v17 R3
Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)
Manual de linguagem 4D ( 4D v19.4)
Manual de linguagem 4D ( 4D v19.5)
Manual de linguagem 4D ( 4D v19.6)
Manual de linguagem 4D ( 4D v19.7)
Manual de linguagem 4D ( 4D v19.8)