Microsoft Reporting Service kullanarak oluşturduğumuz sql raporlarını kendi programımız içerisinden çağırmak istediğimiz zaman default olarak Toolboxda Reporting tabında bulunan ReportViewer kontrolünü kullanıyoruz
Burada report servera deploy edilmiş rapora ulaşabilmek için Choose Reportdan ServerReport
ReportServerUrl –Report serverın adresi
ReportPath–ReportServerda raporumuzun bulunduğu kısmın yolunu yazmamız yeterlidir.Bundan sonra projemizi çalıştırırsak raporumuzu görüntüleyebiliriz.(Tabi reportserverımız anonymous erişime açıksa)
Bunun dışındada aşağıdaki kodlar yazılarak ReportServera erişim yapılarak,içine raporun parametreleri vsler gönderilebilir.Rapor servera gönderilen raporlar parametreler istenirse gizlenebilir
if (!Page.IsPostBack)
{
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
ServerReport serverReport = ReportViewer1.ServerReport;
serverReport.ReportServerUrl = new Uri(“http://10.0.0.1/reportserver”);
serverReport.ReportPath = “/BilgehanReports/Report3″;
// IReportServerCredentials irsc = new CustomReportCredentials(“userid”, “password”, “domain”);
// ReportViewer1.ServerReport.ReportServerCredentials = irsc;
ReportParameter param1 = new ReportParameter();
param1.Name = “UserId”;
param1.Visible = false; //(Gönderilen parametre gizli olsun)
param1.Values.Add(“2″) ;
ReportViewer1.ServerReport.SetParameters(new ReportParameter[] { param1 });
}
Yukarıdaki koddan farklı olarak eğer report servera ulaşmak için credential kullanmanız gerekiyor ise yukarıdaki kodda commentlenmiş iki satırı açarak
Aşağıdaki gibi bir class tanımlayarak bağlantı sağlayabiliriz.Aşağıdaki msdn forumdan alınmış bunun için güzel bir class örneğide mevcuttur
public class CustomReportCredentials : Microsoft.Reporting.WebForms.IReportServerCredentials
{
// local variable for network credential.
private string _UserName;
private string _PassWord;
private string _DomainName;
public CustomReportCredentials(string UserName, string PassWord, string DomainName)
{
_UserName = UserName;
_PassWord = PassWord;
_DomainName = DomainName;
}
public WindowsIdentity ImpersonationUser
{
get
{
return null; // not use ImpersonationUser
}
}
public ICredentials NetworkCredentials
{
get
{
// use NetworkCredentials
return new NetworkCredential(_UserName, _PassWord, _DomainName);
}
}
public bool GetFormsCredentials(out Cookie authCookie, out string user, out string password, out string authority)
{
// not use FormsCredentials unless you have implements a custom autentication.
authCookie = null;
user = password = authority = null;
return false;
}
}
Çok teşekkürler ufak bir noktayı kaçırıyormuşum. Sayende halletim
Merhaba reportviewer da sıra numarası nasıl veriyoruz. Ben matrix kullanarak verilerimi listeledim ama sıra numarasını bir türlü yapamadım RowNumber ı da denedim bu konuda bana yardımcı olabilir misiniz?
Merhabalar raporunuzu yaptıktan sonra raporunuzdaki tablonun bir alanda rownumber(nothing) şeklinde expression yazdığınızda(ssrs in ara biriminde tablo kısmına) sıra numaraları gelir rownumberı bu şekilde mi kullandınız?
merhabalar . benim sorum da aynı olacak sıra numarası nasıl vereceğiz? kayıtların sol tarafına bir sırano sutunu ekledim ve expression kısmınada =RowNumber(nothing) yazım ama 1-2-3-4 diye artış beklerken 6,0E+000 gibi tuhaf veriler geldi sıra no kısmına =S hata nerde yada ne eksik?
özür dileyerek soruma bir soru daha eklemek istiyorum =s. yaptığım ufak bi denemede rowNumber(nothing) i çalıştırabildim, yalnız anladığım kadarıyla -ki yanlış da anlamış olabilirim- tablomdaki tüm verileri çektiğim zaman reportviewera sıra numarası çalışıyor, ancak reportviewera belli kriterdeki verileri çektiğimde rowNumber(nothing) işlemi veritabanındaki kayıtların sıra numarasını gösteriyor. 1-2-3-4-5 diye değilde (kayıtlar tabloda kaçıncı sırada ise) 6-85-112 olarak getiriyor.Bunun bir çözümü var mıdır acaba?
Merhabalar rownumber kullanımı çektiğiniz sorguya bakmaz sorgu sonucu dönen listeye bakar.muhtemelen sizin senaryonuzda farklı bir durum vardır.Sizede küçük bir örnek olması amacı ile rownumberın kullanımı
“SSRS RAPORLARI WINDOWS FORMS UYGULAMALARINDA ADO.NET DATASET İLE KULLANIMI ve SSRS RAPORLARDA KAYITLARA SIRA NUMARASI KOYMA(ROWNUMBER)” yazısının içinde bir örnek olarak koydum bu yazıya bir göz atın isterseniz.Eğer hala sorununuz devam ediyorsa örnek çalışmanızı gönderirseniz bildiğim bir husussa ona göre yardımcı olmaya calısırım
İyi Çalışmalar
Eyvallah bilgehan hocam
Merhaba, ASP.NET WEB uygulamasında report viewer kullanıyorum. “View report” butonunu gizledim. Parametreleri başka bir ekrandan seçerek, asp.net buton yardımıyla “View report” butonunun yaptığı işi yapmak istiyorum. Yardımcı olur musunuz ?
Peki ben reportviewer’ı sadece listelenen bir veriden tek bir tanesinin detayını göstermek için kullanmak istersem bunu nasıl yapmam gerekiyor?
örnek olarak öğrenci isim soyismi numarası var numarasına tıkladığımda öğrencinin detaylarını reportviewer da nasıl yapa bilirim asp.net ile?
merhaba subreport kullanımı yapabilirsiniz,yani gridin icinde subreport kullanıp bu subreporta gridin rowundaki değerleri geçebilirsiniz
nasıl yanı açıklarmısınız biraz aynı sıkıntı bende de var