Menginisialisasi objek rakitan kustom
Dalam beberapa kasus, Anda mungkin perlu menginisialisasi nilai properti dan bidang di kelas rakitan kustom saat Anda membuat instansnya. Anda kemungkinan besar perlu menginisialisasi kelas kustom Anda dengan nilai yang tersedia untuk Anda dari koleksi objek global laporan. Anda melakukan ini dengan mengesampingkan metode OnInit dari objek Kode laporan. Untuk mengakses OnInit, gunakan elemen Kode dari definisi laporan. Ada dua teknik untuk menginisialisasi nilai properti atau bidang kelas dalam rakitan kustom yang Anda rencanakan untuk digunakan dalam laporan Anda: Anda dapat mendeklarasikan dan membuat instans baru kelas Anda menggunakan OnInit, atau Anda dapat memanggil metode yang tersedia untuk umum menggunakan OnInit.
Pengumpulan dan inisialisasi objek global
Beberapa koleksi tersedia bagi Anda untuk menginisialisasi variabel kelas kustom Anda. Anda dapat menggunakan koleksi Global dan Pengguna . Koleksi Parameter, Bidang, dan ReportItems tidak tersedia untuk Anda pada titik dalam siklus hidup laporan saat metode OnInit dipanggil. Untuk menggunakan koleksi bersama, Global atau Pengguna, Anda perlu menyertakan referensi objek Laporan. Misalnya, untuk menginisialisasi kelas kustom Anda berdasarkan bahasa pengguna saat ini yang mengakses laporan, elemen Kode Anda mungkin terlihat seperti berikut:
Dim m_myClass As MyClass
Protected Overrides Sub OnInit()
m_myClass = new MyClass(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
Salah satu cara untuk menginisialisasi nilai properti dan bidang kelas seperti yang ditunjukkan sebelumnya adalah dengan mendeklarasikan kelas Anda dan membuat instans baru dengan memanggil konstruktor yang ditimpa.
Cara lain untuk menginisialisasi nilai properti dan bidang kelas dalam rakitan kustom Anda adalah dengan memanggil metode yang tersedia untuk umum yang Anda tentukan dari metode OnInit . Anda harus terlebih dahulu menambahkan nama instans untuk kelas Anda dalam file definisi laporan. Setelah menambahkan referensi rakitan dan nama instans yang sesuai, Anda dapat memanggil metode inisialisasi untuk menginisialisasi nilai properti dan bidang untuk kelas Anda. Metode OnInit Anda mungkin terlihat seperti berikut ini:
Protected Overrides Sub OnInit()
m_myClass.MyInitializationMethod(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
Untuk informasi selengkapnya tentang menambahkan referensi rakitan dan nama instans untuk kelas kustom Anda, lihat Menambahkan Referensi Perakitan ke Laporan (SSRS).
Untuk informasi selengkapnya tentang koleksi objek global, lihat Koleksi Bawaan dalam Ekspresi (Pembuat Laporan dan SSRS).