Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bazı durumlarda, özel assembly sınıflarınızı başlatırken özellik ve alan değerlerini başlatmanız gerekebilir. Muhtemelen raporun küresel nesne koleksiyonlarından size sunulan değerlerle özel sınıflarınızı başlatmanız gerekir. Bunu, bir raporun Code nesnesinin OnInit metodunu geçersiz kılarak yaparsınız. OnInit'e erişmek için rapor tanımının Code öğesini kullanın. Raporunuzda kullanmayı planladığınız özel bir montajda sınıfların özellik veya alan değerlerini başlatmak için iki teknik vardır: OnInit ile sınıfınızın yeni bir örneğini ilan edip oluşturabilir ya da OnInit kullanarak halka açık bir metod çağırabilirsiniz.
Küresel nesne koleksiyonları ve başlatma
Özel sınıf değişkenlerinizi başlatmak için birkaç koleksiyon mevcuttur. Globals ve User koleksiyonlarını kullanabilirsiniz. Parametreler, Alanlar ve ReportItems koleksiyonları, rapor yaşam döngüsünde OnInit yöntemi çağrıldığı noktada size sunulmaz. Paylaşılan koleksiyonları, Globals veya User'i kullanmak için Report object referansını eklemeniz gerekir. Örneğin, rapora erişen kullanıcının mevcut diline göre özel sınıfınızı başlatmak için, Code öğeniz aşağıdaki gibi görünebilir:
Dim m_myClass As MyClass
Protected Overrides Sub OnInit()
m_myClass = new MyClass(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
Daha önce gösterildiği gibi bir sınıfın özellik ve alan değerlerini başlatmanın bir yolu, sınıfınızı ilan etmek ve geçersiz bırakılan bir yapıcını çağırarak yeni bir örnek oluşturmaktır.
Sınıfların özellik ve alan değerlerini özel montajlarınızda başlatmanın bir diğer yolu, OnInit metodundan tanımladığınız halka açık bir metodu çağırmaktır. Öncelikle rapor tanım dosyasına sınıfınız için bir örnek adı eklemeniz gerekir. Uygun assembly referansı ve örnek adını ekledikten sonra, sınıfınız için özellik ve alan değerlerini başlatmak için başlatma yönteminizi çağırabilirsiniz. OnInit yönteminiz şu şekilde görünebilir:
Protected Overrides Sub OnInit()
m_myClass.MyInitializationMethod(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
Özel sınıfınız için bir assembly referansı ve örnek adı ekleme hakkında daha fazla bilgi için Add an Assembly Reference to a Report (SSRS) bölümüne bakınız.
Küresel nesne koleksiyonları hakkında daha fazla bilgi için Expressions'ta Yerleşik Koleksiyonlar (Report Builder ve SSRS) bölümüne bakınız.