Partilhar via


Referências à coleção ReportItems num relatório paginado (Construtor de Relatórios)

Aplica-se a: Construtor de Relatórios da Microsoft (SSRS) Designer de Relatórios do Power BI no SQL Server Data Tools

A coleção interna ReportItems é o conjunto de caixas de texto de itens de relatório, como linhas de uma região de dados ou caixas de texto na superfície de design de relatório paginado. A coleção ReportItems inclui caixas de texto que estão no escopo atual de um cabeçalho de página, rodapé de página ou corpo de relatório. Essa coleção é determinada em tempo de execução pelo processador de relatório e pelo renderizador de relatório. O escopo atual muda à medida que o processador de relatório combina sucessivamente os dados do relatório e os elementos de layout do item de relatório à medida que o usuário exibe as páginas de um relatório. Você pode usar a coleção interna ReportItems para produzir cabeçalhos de página no estilo de dicionário que mostram o primeiro e o último itens em cada página.

Observação

Você pode criar e modificar arquivos de definição de relatório paginado (.rdl) no Construtor de Relatórios da Microsoft, no Construtor de Relatórios do Power BI e no Designer de Relatórios no SQL Server Data Tools.

Utilize a propriedade Valor de ReportItems

Os itens dentro da coleção ReportItems têm apenas uma propriedade: Value. O valor de um item ReportItems pode ser usado para exibir ou calcular dados de outro campo no relatório. Para aceder ao valor da caixa de texto atual, pode usar a funcionalidade global integrada Me.Value do Visual Basic ou simplesmente Value. Em funções de relatório, como funções First e aggregate, use a sintaxe totalmente qualificada.

Por exemplo:

  • Esta expressão, colocada em uma caixa de texto, exibe o valor de uma caixa de texto ReportItem chamada Textbox1:

    =ReportItems!Textbox1.Value

  • Essa expressão, colocada em uma propriedade Color da caixa de texto ReportItem , exibe o texto em preto quando o valor é > 0, caso contrário, o valor é exibido em vermelho:

    =IIF(Me.Value > 0,"Black","Red")

  • Esta expressão, colocada em uma caixa de texto no cabeçalho ou rodapé da página, exibe o primeiro valor por página do relatório renderizado, para uma caixa de texto chamada LastName:

    =First(ReportItems("LastName").Value)

Expressões de cabeçalho de página ao estilo de dicionário

Você pode criar um cabeçalho de página para exibir o primeiro cliente na página e o último cliente na página. Como uma caixa de texto no cabeçalho da página só pode se referir à coleção interna ReportItems uma vez em uma expressão, você precisa adicionar duas caixas de texto ao cabeçalho da página: uma para o primeiro nome do cliente (=First(ReportItems!textboxLastName.Value) e outra para o último nome do cliente (=Last(ReportItems!textboxLastName.Value).

Em uma seção de cabeçalho ou rodapé de página, somente caixas de texto na página atual estão disponíveis como membro da coleção ReportItems . Por exemplo, se ReportItems!textboxLastName.Value se referir a uma caixa de texto que só aparece na primeira página para uma região de dados multipágina, vê-se um valor para a primeira página, mas todas as outras páginas mostram #Error, indicando que a expressão não pôde ser avaliada como escrita.

Âmbito para a coleção ReportItems

À medida que o relatório é processado, cada caixa de texto no corpo do relatório ou em uma região de dados é avaliada no contexto de seu conjunto de dados, região de dados e associações de grupo. O escopo para uma referência à coleção ReportItems é o escopo atual ou qualquer ponto superior ao escopo atual.

Por exemplo, uma caixa de texto em uma linha que está em um grupo pai não deve conter uma expressão que se refira ao nome de uma caixa de texto em uma linha de grupo filho. Essa expressão não resulta em um valor no relatório porque a caixa de texto da linha subordinada está fora do escopo. Para mais informações, consulte a referência de funções agregadas (Construtor de Relatórios).