Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Em alguns casos, talvez seja necessário inicializar valores de propriedade e campo em suas classes de assembly personalizadas ao instanciá-las. Provavelmente, você precisará inicializar suas classes personalizadas com valores disponíveis para você nas coleções de objetos globais do relatório. Você faz isso substituindo o método OnInit do objeto Code de um relatório. Para acessar o OnInit, use o elemento Code da definição de relatório. Há duas técnicas para inicializar valores de propriedade ou de campo das classes em um assembly personalizado que você planeja usar em seu relatório: você pode declarar e criar uma nova instância de sua classe usando OnInit ou chamar um método disponível publicamente usando OnInit.
Coleções e inicialização de objetos globais
Várias coleções estão disponíveis para inicializar suas variáveis de classe personalizadas. Você pode usar as coleções Globals e User . As coleções Parameters, Fields e ReportItems não estão disponíveis para você no ponto do ciclo de vida do relatório quando o método OnInit é invocado. Para usar as coleções compartilhadas, Globais ou Usuário, você precisa incluir a referência do objeto Relatório . Por exemplo, para inicializar sua classe personalizada com base no idioma atual do usuário que acessa o relatório, o elemento Code pode ser semelhante ao seguinte:
<Code>
Dim m_myClass As MyClass
Protected Overrides Sub OnInit()
m_myClass = new MyClass(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
</Code>
Uma maneira de inicializar os valores de propriedade e de campo de uma classe, conforme mostrado anteriormente, é declarar sua classe e criar uma nova instância dela chamando um construtor substituído.
Outra maneira de inicializar os valores de propriedade e de campo das classes em seus assemblies personalizados é chamar um método disponível publicamente que você define do método OnInit . Primeiro, você precisa adicionar um nome de instância para sua classe no arquivo de definição de relatório. Depois de adicionar a referência de assembly e o nome da instância apropriados, você pode chamar seu método de inicialização para inicializar valores de propriedade e campo para sua classe. Seu método OnInit pode ser semelhante ao seguinte:
<Code>
Protected Overrides Sub OnInit()
m_myClass.MyInitializationMethod(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
</Code>
Para obter mais informações sobre como adicionar uma referência de assembly e um nome de instância para sua classe personalizada, consulte Adicionar uma referência de assembly a um relatório (SSRS).
Para obter mais informações sobre as coleções de objetos globais, consulte Coleções internas em expressões (Construtor de Relatórios e SSRS).