2015-03-27 28 views
5

Bir asp.net mvc 5 web uygulaması geliştiriyorum. Sadece telerik raporlar için bir sınıf kütüphanesi var [no trdx]. Veritabanından veri almak için rapor ve raporun NeedDataSource olayı çözümlemek için TypeReportSource kullanıyorum. Bütün projede kurucu enjeksiyonu (structuremap) tekniği kullanıyorum ama buradaki konstrüktör enjeksiyonu çalışmaz, telerik raporu sadece parametrik olmayan kurucuları destekler.Telerik Reporting ObjectDataSource bağımlılık enjeksiyonlu

Veriler, DataSource'a nasıl raporlanır? Ayrı yapılandırmalı birden çok proje tarafından paylaşıldığı için sınıf kütüphanesi için ayrı IoC konteynırı eklemek istemiyorum.

cevap

1

"Telerik Rapor Kitaplığı" modunda, her rapor varsayılan olarak 3 dosyadan oluşur. Rapor projesinde "ProductReport" adlı bir rapor oluşturduğumu varsayalım. o takiben ProductReport.cs, ProductReport.Designer.cs, ProductReport.resx

üretecektir "ProductReport.cs" kodudur:

public partial class ProductReport : Telerik.Reporting.Report 
{ 
    public ProductReport() 
    { 
     // 
     // Required for telerik Reporting designer support 
     // 
     InitializeComponent(); 

     // 
     // TODO: Add any constructor code after InitializeComponent call 
     // 
    } 
} 

Ben seçeneklerden birisi düşünüyorum parametre ile başka bir kurucu ekleyin etmektir (s) Rapor örneğine enjekte etmek, veri kaynağını dahil etmek ve "InitializeComponent()" adını vermeyi unutmayın.

Bu çözümün bir başka iyi tarafı, rapor tasarımcısının kullanımını ve rapor öğelerinin tasarımcının kendisinin değiştirilmesini etkilemez.

İlgili konular