KB-103387: Percorrendo objetos de uma seção do Relatório.

Descrição:

Preciso alterar/verificar o valor de uma determinada propriedade em todos os objetos do tipo “Label” da seção PageHeader de um relatório. Neste caso, é possível percorrer todos os objetos de uma seção do relatório a fim de se alterar/verificar os valores desta propriedade? Como isso pode ser feito?

Solução:

Sim, é possível. Em síntese, um objeto Relatório do Elipse E3 pode conter várias seções; cada seção do Relatório contém um grupo de controles que são processados e impressos ao mesmo tempo.

Para percorrer objetos do mesmo tipo a fim de encontrar os valores de uma propriedade em comum entre eles, basta utilizar a instrução for each nos controles da seção desejada do relatório; logo abaixo, vemos como isso pode acontecer com um objeto “Label”, citado no exemplo inicial deste artigo:

Sub OnBeforePrint
for each element in report.Sections("PageHeader").Controls
    IF Typename(element) = "Label" THEN
      msgbox element.Caption
    END IF
next
End Sub

A opção Editor de Scripts permite inserir e editar scripts no Relatório. Neste caso, acesso o campo Object para especificar o objeto onde o script deve ser criado; logo após, no campo Events, adicione o evento do Relatório onde ocorrerá a ação.

o editor de scripts do relatório pode ser usado para percorrer uma seção
Editor de Scripts do Relatório

Após a instrução for each ter sido aplicada para percorrer todos os objetos do mesmo tipo em uma seção do relatório, é possível verificar e/ou alterar uma determinada propriedade deste objeto.

Este artigo foi útil? Was this post helpful?
Yes1
No0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *