Özel derleme nesneleri başlatılıyor
Bazı durumlarda, özellik ve alanın değerleri, özel derleme sınıflarda ne zaman onlara örneğini başlatmak gerekebilir. Sen-ecek büyük olasılıkla lüzum-e değerleri raporu küresel nesne koleksiyonlardan kullanabileceğiniz özel sınıfları başlatılamadı. Geçersiz kılarak, bunu OnInit yöntemi kod rapor nesnesi. Access OnInit, kullanma kod öğe rapor tanımı. Raporunuzda kullanmayı planladığınız özel bir derleme sınıflarda özellik veya alan değerlerini başlatılıyor iki yöntem vardır: bildirmek ve sınıf kullanarak yeni bir örneğini oluşturmak OnInit, ya da sen-ebilmek seslenmek kamuya yöntemini kullanarak OnInit.
Genel nesne koleksiyonları ve başlatma
Çeşitli koleksiyonları, özel sınıf değişkenlerini başlatma için kullanılabilir. Sen-ebilmek kullanma Globals ve kullanıcı koleksiyonları. Parametreleri, alanlar ve ReportItems koleksiyonları kullanabileceğiniz Rapor ömrü noktada değildir zaman OnInit yöntemi çağrılan. Paylaşılan Koleksiyonlar kullanma Globals veya kullanıcı, içermek zorunda raporu nesne başvurusu. Örneğin, raporu erişen kullanıcının geçerli dile dayanan özel sınıf başlatmak için senin kod öğesi aşağıdaki gibi bakmak:
<Code>
Dim m_myClass As MyClass
Protected Overrides Sub OnInit()
m_myClass = new MyClass(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
</Code>
<Code>
Dim m_myClass As MyClass
Protected Overrides Sub OnInit()
m_myClass = new MyClass(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
</Code>
Daha önce gösterildiği gibi bir sınıfın özellik ve alanın değerleri bir sınıf ilan ve geçersiz kılınmış bir Oluşturucu arayarak yeni bir örneğini oluşturmak için yoludur.
Den tanımladığınız kamuya bir yöntemi çağırmak için özel derlemeler sınıflarda özellik ve alanın değerlerini başlatmak için başka bir yol olduğunu OnInit yöntemi. İlk rapor tanım dosyasında sınıf için bir örnek adı eklemeniz gerekir. Bir kez sen-si olmak mülhak uygun derleme başvurusu ve örnek adı, özellik ve alanın değerleri için sınıf başlatmak için başlatma yöntemini çağırabilirsiniz. Senin OnInit yöntemi aşağıdaki gibi bakmak:
<Code>
Protected Overrides Sub OnInit()
m_myClass.MyInitializationMethod(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
</Code>
<Code>
Protected Overrides Sub OnInit()
m_myClass.MyInitializationMethod(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
</Code>
Derleme başvurusu ve örnek adı için özel sınıf ekleme hakkında daha fazla bilgi için bkz: Rapor (ssrs) için bir derleme başvurusu ekle.
Küresel nesne koleksiyonlarıyla ilgili daha fazla bilgi için bkz: İfadelerdeki Yerleşik Koleksiyonlar (Rapor Oluşturucusu ve SSRS).