Aracılığıyla paylaş


Özel kod başvurular (Reporting Services) deyimler içinde kullanma

Başvuru oluşturma ve raporu istemcisine ve rapor sunucusu dağıtmasına özel derlemeleri veya bir rapora katıştırılmış özel kod ekleyebilirsiniz.Katıştırılmış kodu özel sabitler, karmaşık işlevler veya tek bir raporda birden fazla kez kullanılan işlevler için kullanın.Özel kod birden çok rapor paylaştırın ve tek bir yerde kod kullanabileceksiniz.

Çalışma zamanında yalnızca bir kez değerlendirilen ve rapor işleminin tamamı boyunca aynı değere sahip olmasını istediğiniz zamana duyarlı hesaplamalar için, bir rapor ya da grup değişkeni kullanmayı düşünün.Daha fazla bilgi için bkz: Rapor ve grup değişkenleri koleksiyon başvurular (Reporting Services) deyimler içinde kullanma.

Özel yeni özel sabitler, değişkenler, işlevler ve alt yordamlar içerebilir.Parameters koleksiyonu gibi yerleşik koleksiyonlar için salt okunur başvurular ekleyebilirsiniz.Ancak, özel işlevlere rapor verisi değerleri kümeleri geçiremezsiniz; özellikle de, özel toplamlar desteklenmez.

Katıştırılmış Kod

Katıştırılmış kod için bir rapor eklemek için , kod sayfa kullanan Rapor özellikleri iletişim kutusu.Oluşturduğunuz kod bloğu birden fazla yöntem içerebilir.Methods in embedded code must be written in Microsoft Visual Basic and must be instance-based.Rapor işlemci başvuru için otomatik olarak ekler System.Convert ve System.Math ad. Use Başvuruları sayfaRapor özellikleri iletişim kutusu ek derleme başvuruları eklemek için.Daha fazla bilgi için bkz: Nasıl Yapılır: Bir raporu (Reporting Services) için kodu ekleme ve Nasıl Yapılır: (Reporting Services) bir rapor için bir derleme başvurusu Ekle.

Katıştırılmış kod yöntemleri genel olarak tanımlanan kullanılabilir Code üye. Bu ifade tarafından erişim Code üye ve yöntem adı. Aşağıdaki örnek yöntem çağırır. ToUSD, hangi değere dönüştürür StandardCost alan bir lira değerine:

=Code.ToUSD(Fields!StandardCost.Value)

Özel kodunuzda yerleşik derlemeleri başvurmak için , yerleşik bir başvuru içerir. Report Nesne:

=Report.Parameters!Param1.Value

Aşağıdaki örnekler, bazı özel sabit ve değişken nasıl tanımlandığını gösterir.

Public Const MyNote = "Authored by Bob"
Public Const NCopies As Int32 = 2
Public Dim  MyVersion As String = "123.456"
Public Dim MyDoubleVersion As Double = 123.456

Özel sabitler görüntülenmez, ancak Sabitler kategorisiIfade Aşağıdaki örneklerde gösterildiği gibi herhangi bir ifadeden bunlara başvuru ekleme (yalnızca yerleşik sabitler görüntüler) iletişim kutusu. Bir ifade içinde özel bir sabit değer olarak işlem görür bir Variant.

=Code.MyNote
=Code.NCopies
=Code.MyVersion
=Code.MyDoubleVersion

Aşağıdaki örnek kodu başvuru hem de kod uygulaması fonksiyonunun içerir. FixSpellingmetni kullanır. "Bicycle"metnin tüm tekrarlarını "içinde bisiklet için" SubCategory alan.

=Code.FixSpelling(Fields!SubCategory.Value)

Rapor tanımı kod blok içinde katıştırılmış aşağıdaki kod uygulaması gösterir FixSpelling yöntem. This example shows you how to use a fully qualified reference to the Microsoft .NET FrameworkStringBuilder class.

Public Function FixSpelling(ByVal s As String) As String
   Dim strBuilder As New System.Text.StringBuilder(s)
   If s.Contains("Bike") Then
      strBuilder.Replace("Bike", "Bicycle")
      Return strBuilder.ToString()
      Else : Return s
   End If
End Function

Yerleşik nesnesinin derlemeleri ve başlatma hakkında daha fazla bilgi için bkz: Genel derlemeleri deyimler içinde kullanma and Özel derleme nesneleri başlatılıyor.

Özel Koddan Parametrelere Başvuruda Bulunma Örnekleri

Genel parametreler koleksiyonuna, rapor tanımının Kod bloğundaki özel kod aracılığıyla veya sağladığınız özel bir derleme içinden başvuruda bulunabilirsiniz.Parametreler koleksiyonu salt okunurdur ve hiç genel yineleyicisi yoktur.You cannot use a Visual BasicFor Each construct to step through the collection.Rapor tanımında tanımlanmış olan parametreye kodunuzda başvuruda bulunabilmeniz için önce adını öğrenmeniz gerekir.Ancak, çok değerli bir parametrenin tüm değerlerine yineleyerek erişebilirsiniz.Daha fazla bilgi için bkz: Özel kod başvurular (Reporting Services) deyimler içinde kullanma.

Aşağıdaki tablo yerleşik koleksiyon başvurma örnekleri içerir. Parameters özel kod:

Açıklama

İfadedeki başvuru

Özel Kod tanımı

Genel parametre koleksiyonunun tamamını özel koda geçirme.

Bu işlev bir Özel rapor parametresinin değeri verir... MyParameter.

=Code.DisplayAParameterValue(Parameters)

Public Function DisplayAParameterValue(

ByVal parameters as Parameters) as Object

Return parameters("MyParameter").Value

End Function

Tek bir parametreyi özel koda geçirme.

Bu örnek, geçirilen parametre değeri döndürür.Parametre multivalue bir parametre, döndürülen tüm değerlerin bir birleştirme dize.

=Code.ShowParametersValues(Parameters!DayOfTheWeek)

Public Function ShowParameterValues(ByVal parameter as Parameter)
 as String
   Dim s as String 
   If parameter.IsMultiValue then
      s = "Multivalue: " 
      For i as integer = 0 to parameter.Count-1
         s = s + CStr(parameter.Value(i)) + " " 
      Next
   Else
      s = "Single value: " + CStr(parameter.Value)
   End If
   Return s
End Function

Özel Derlemeler

Özel derlemeler bir raporda kullanmak için , eklemeli ilk derleme oluşturmak, Rapor Tasarımcısı için kullanılabilir duruma, derleme başvurusu rapora ve sonra bu derlemede bulunan yöntemleri başvurmak için rapora bir ifade kullanın.Raporun rapor sunucusunda dağıtıldığında, aynı zamanda özel dağıtmalısınız derleme için rapor sunucusu.

Özel bir derleme oluşturma ve kullanılabilir hale getirme hakkında daha fazla bilgi için Reporting Services, bkz: Reports ile özel birleşimleri'ni kullanma. Bir rapora başvuru ekleme hakkında daha fazla yönerge için bkz: Nasıl Yapılır: (Reporting Services) bir rapor için bir derleme başvurusu Ekle.

Özel ifade kod başvurmak için çağırmalısınız üye derleme içindeki bir sınıf.Bunu nasıl mı yoksa yöntem statik veya örnek tabanlı bağlıdır.Statik yöntemler özel bir derleme içinde genel rapor içinde kullanılabilir.Ad, sınıf ve yöntem adını belirterek ifadelerde statik yöntemlere erişebilirsiniz.Aşağıdaki örnek yöntem çağırır. ToGBP, hangi değerini dönüştürür StandardCost dolar değeri için pound sterlin:

=CurrencyConversion.DollarCurrencyConversion.ToGBP(Fields!StandardCost.Value)

Yöntemleri örnek temel alan bir genel olarak tanımlanmış kullanılabilir Code üye. Bu ifade tarafından erişim Code Örnek ve yöntem adından üye. Aşağıdaki örnekte örnek yöntem çağırır. ToEUR, hangi değerini dönüştürür. StandardCost euro için dolar gelen:

=Code.m_myDollarCoversion.ToEUR(Fields!StandardCost.Value)

Not

Rapor Tasarımcısı, özel bir derleme bir kez yüklenir ve siz kapatıncaya kadar kaldırılır. Visual Studio. Raporu önizlemede görüntüleme, raporda kullanılan özel bir derleme değişiklik ve sonra da yeniden rapora önizleme uygulayın, değişiklikleri ikinci önizlemede görünmez.Derlemeyi yeniden yüklemek için , kapatıp yeniden açın Visual Studio ve sonra da rapora önizleme uygulayın.

Kodunuzu erişme hakkında daha fazla bilgi için bkz: Özel derlemeler ifadeleri erişme.