| 4D v18This | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v18
 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 v18)
	
	
	
 Adicionar um comentário
Adicionar um comentário