Merhaba Arkadaşlar,
Bugünkü yapacağımız projede report viewer kullanarak raporlama yapacağız. Haydi başlayalım.
Report viewer componentimizi formumuza ekliyoruz. Sonra report viewerın köşesindeki butona tıklayalım.
Karşımıza çıkan pencerede “design a new report” yazısına tıklayalım. Karşımıza resimdeki gibi pencere gelecek.
Gelen pencerede next deyip ilerliyoruz. Karşımıza gelen yeni pencerede “new connection” butonuna tıklayıp veri tabanı dosyamızı seçelim.
Veri Tabanı dosyamızı seçelim ve seçtikten sonra finish butonuna basın ve yeni gelen pencerede veritabanındaki hangi tablonuza ve hangi alanlarına raporlama yapacağınız seçin finish butonuna basıp yeni aşamaya geçelim.
Yeni aşamamızda raporlamak isteğimiz alanları raporlama yaparken hangi bölgede olması istediğini soruyor biz ise Values bölgesi kullanacağız. Soldaki elemanları tutup values bölgesine çekiyoruz.
Raporlama işlemi bittiğine göre sadece report nesnesini report viewer componenti ile bağlantısını yapalım.
Ve report viewerımız hazır.
Report viewerın ek olarak; verileri yazdırma ve verileri pdf,word,excele aktarma özellikleri mevcuttur.
Yazımız bu kadar arkadaşlar. Görüşmek Üzere (Eğer bir sorunla karşılaşırsanız mesaj atmanız yeterli ) İyi Günler
Çok teşekkür ederim. Harikasınız. Aynen dediğiniz gibi yaptım ve kolay bir şekilde rapor alabiliyorum. Fakat bu şekilde tüm veritabanını gösteriyor. Datagridview dekini nasıl aktaracağız. Bu konuda yardımcı olur musunuz?
Teşekkürler
Merhaba Gürkan Bey,
Datagridviewdeki verileri report viewera atıp raporlama yapmak istiyorsunuz inşallah doğru anlamışımdır. Sorununuzu çözmem için şu soruyu sormam gerekiyor? Datagridviewdeki verileri veritabanından mı yoksa çekiyorsunuz yoksa local olarak datagridviewede veriler mi var?
Hocam veritabanından çekiyorum. Komut ile datadrigview içine aktarma yapmıyorum.
Şu şekilde;
public Form1 frm1;
public Form2()
{
InitializeComponent();
}
OleDbConnection bag = new OleDbConnection(“Provider = Microsoft.Ace.OleDb.12.0;Data Source = data.accdb”);
OleDbCommand kmt = new OleDbCommand();
DataTable tablo = new DataTable();
DataSet db = new DataSet();
public void listele()
{
tablo.Clear();
OleDbDataAdapter adtr = new OleDbDataAdapter(” Select * From hesap”, bag);
adtr.Fill(tablo);
dataGridView1.DataSource = tablo;
}
Datagridview de istediğim süzmeyi yapıyorum. ardından rapor butonuna basınca rapor açılıyor. Fakat tüm veritabanı çıkıyor.
Butunun clikc olaynının içine de şunu yazdım. frm1.frm3.ShowDialog();
İlginiz için tekrar teşekkürler.
Kusura bakmayın Gürkan Bey sorunuzu tam olarak anlayamadım. Anladığım kadarıyla program çalışırken datagridviewerda filtreleme yapıyorsunuz ve bu yaptığınız filtrelemeyle raporlama mı yapmak istiyorsunuz? Birazcık daha detaylı yazarsanız sevinirim. Birde süzme dediğiniz olayı biraz açabilir misiniz?
İyi Günler
Evet hocam,
verileri datagridview’e aktarıyorum. bu aktarılan verileri örneğin İsim’e göre arattırma yapıyorum. Örneğin; veritabanında Gürkan adındaki kişinin değişik tarihlerde 15 tane işlemi kayıt yapılmış olsun. Ahmet’in değişik tarihlerde 10 tane işlemi var diyelim. bir textbox ve ara butonu ile gürkan yazdığım ve arama yaptığım zaman datagridview de sadece gürkan adlı kişinin işlemleri görüntüleniyor. Sizin verdiğiniz anlatımdaki gibi raporla butonuna bastığım zaman tüm veritabanı çıkıyor. Yani sadece gürkan adlı kişinin verilerini raporlamasını istiyorum.
Teşekkürler.
Merhaba Gürkan Bey,
Bu konuyla ilgi çok bir bilgim yok ama internette araştırmama rağmen sağlıklı bir kaynak bulamadım. Elimde bir kaç site var kişiler bu konuyla ilgili sorunlarını tartışmışlar ama şuan adam akıllı bir bilgi bulamadım. İsterseniz linklere bir göz atabilirsiniz ama en kısa süre içinde sorununuzla ilgileneceğim.
http://forums.asp.net/t/1489717.aspx/1
http://social.msdn.microsoft.com/Forums/en-US/vsreportcontrols/thread/a7f8ba22-42ee-41eb-837f-1d6696d0ffff/
İyi Günler
Öncelikle çok basit ve kullanışlı bir yol gösterdiğiniz için teşekkür ederiz. Şöyle bir sorum var;
Datagridview’deki verileri çıktı almak istersek nasıl bir yol izlemeliyiz.
Cevabınızı bekliyorum….
Merhaba Hakan Bey, öncellikle basit bir yol gösteriyim datagrid yerine report viewer kullanırsanız sizin için daha yararlı olur çünkü report viewer datagrid e göre daha fonksiyonel ama diğer şekilde istiyorum diyorsanız yapmanız gereken işlem yine sayfaya bir Report Viewer eklemek ve daha sonrasında ise datagridview’ in içindeki tabloyu bir table nesnesi oluşturup ona atamak ve bu oluşturduğumuz table nesnesini de report viewer’a bağlamak olacaktırç Report Viewer makalemizde bahsettiğimiz üzere çıktı alabilir ve verileri diğer ortamlara aktarabilirsiniz.
sorguyu bağladımız zaman örneğin müşteri adı alanında müşterinin ismi gözükmüyor yardımcı olursanız sevinirim
Merhaba öncelikle, mantık olarak datagridle aynı fakat reportviewer da işin içine localreport olayı giriyor.
Merhabalar öncelikle paylaşımlarınız için teşekkür eder bir konu hakkında yardımlarınız bekliyorum
Ben Datagridview sorgularla fonksiyonlarla dolduruyorum yani bir veri tabanında farklı alanlardan farklı fonksiyonlarla veri çekip solduruyorum işin özü sorgu ile yapıyorum ben sadece Datagridview içersinde olan alanların ve verilerin raporlamak istiyorum fakat rapor alırken iki tarih arasında alıyorum raporun başında girmiş olduğum tarihleri görmek istiyorum makaleyi inceledim fakat benim belli bir veri tabanım yok nasıl yapabilirim
Saygılarımla
öncelikle eline sağlık çok güzel anlatmışsınız ama ben bunu denedim bisorun oldu bu işlemleri yaptıktan sonra formda bişey kaydettikten sonra raporlama kısmına atıyo programı kapatıp tekrar çalıştırdığımda yaptığım işlemleri geri alıyor yardımcı olursanız çok sevinirim
c# visual studioda report viewer kullanımını nasıl kullanabiliriz ? Raporlama yapmam gerekiyorr, tablomu access ile oluşturdum.
Merhaba, anlatımda tam olarak nereyi anlamadınız oradan yardımcı olayım.
oldu teşekkürlerr