24 Nisan 2012 Salı

Rapora Göre Farklı Parametre Atama ASP.NET RS

Müdürüm bazen beni çok fena ümitlendiriyor, bazen de çok fena komplekse sokuyor :) Bugün komplekse girdiğim günlerden biriydi..
Namaz arası verip biraz da işten kaytarıp geri yerime döndüğümde bir de baktım bilgisayarımın başında müdürüm oturuyor. O an başımdan aşağıya kaynar sular döküldü,, çünkü üzerinde uğraştığım kodu henüz tamamlamamıştım ve sanırım kodda biraz saçmalamıştım.. Utandım haliyle.. Neyse ki "ne yapmaya çalıştığını anlamadım ama... " ifadesi dışında fazla bir ezme söz konusu olmadı :P Sağolsun.
Yapmaya çalıştığım şey, elimdeki peeek çok rapora ASP.NET üzerinde ayrı ayrı parametre tanımlamaktansa, elimdeki rapora göre belli parametreleri atayabileyimdi. Ben kendi çapımda ...... ServerReport.GetParameters().Contains( ......... metoduyla uğraşıyordum.. Bakın hocam/müdürüm bu olayı hangi basit yöntemle çözmüş..
list ve LINQ kullanarak..
örnek kodumu da yayınlayayım da malum unutacağım sonra da lazım olacak :) ;

    protected void RaporaParametreAta()
    {
        this.ReportViewer1.ServerReport.ReportServerCredentials = new CustomReportCredentials();

        var raporParemetreler = this.ReportViewer1.ServerReport.GetParameters();

        var parm = new List<ReportParameter>();

        parm.Add(new ReportParameter("ILANID", this.Numara.ToString()));

        if (raporParemetreler.Any(c => c.Name == "ILKTARIH"))
        {
            parm.Add(new ReportParameter("ILKTARIH", this.txtBasTar.Text));
        }

        if (raporParemetreler.Any(c => c.Name == "SONTARIH"))
        {
            parm.Add(new ReportParameter("SONTARIH", this.txtBitTar.Text));
        }

        this.ReportViewer1.ServerReport.SetParameters(parm);
        this.ReportViewer1.ServerReport.Refresh();

    } 


Zekalıyım ama işte böyle bir yapamamışlık içindeyim ;p

Hiç yorum yok:

Yorum Gönder