Merhabalar, C# DevExpress Grid, Pivot, Chart Bağlantısı Kurmak dersimiz DevExpress nesneleri hakkında olacak. Bir forma GridControl, PivotGridControl ve ChartControl nesneleri koyacağız ve sadece GridControl’de gösterdiğimiz veriler üzerinden PivotGrid ve diğer bütün ChartControlleri ayarlayacağız.
C# DevExpress Grid, Pivot, Chart Bağlantısı Kurmak
Giriş kısmında belirttiğim gibi tek bir datasource ile tüm control nesnelerinde verileri göstereceğiz. Şimdi formumuza bir GridControl, PivotGridControl ve istediğiniz kadar ChartControl ekleyin. Ben 2 tane ChartControl ekledim. Aşağıdaki videoyu izleyerek nasıl çalıştığını görebilirsiniz.
Nesneleri formumuza ekledikten sonra verilerimizi çekecek sorgumuzu hazırlıyoruz. Ben burada anlatımı yapabilmek için kendi kafamdan oluşturduğum bir sorgu vereceğim. Elbette bu sorgu uydurma bir sorgu olacak ve uydurma değerler. Sadece dersi anlatabilmem için bir sorgu örneği gerekli olduğundan veriyorum.
SELECT Bolge_Kodu as Kodu, Bolge_Adi as Adı, Maliyet as Maliyet , Bolge_Adi as Tipi, Bolge_Durum as Durum, Banka as Banka from Bölgeler
Sorgumuzu bir DataTable’ye yükleyip, GridControl nesnemize atamasını yapıyoruz. (DataBind ediyoruz.)
gridControl1.DataSource = MyClass.sql.ShowTable("" + " SELECT " + " Bolge_Kodu as Kodu, " + " Bolge_Adi as Adı, " + " Maliyet as Maliyet " + " Bolge_Tipi as Tipi, " + " Bolge_Durum as Durum, " + " Banka as Banka " + " from Bölgeler " + " ");
NOT: MyClass.sql.ShowTable kısmı, projemde MyClass klasöründe yer alan sql adındaki sql işlemlerimi yapan bir classtır. Sadece sorgu gönderirim bir datatable olarak dönüş sağlar.
Grid, Pivot, Chart Bağlantısını Kurmak
Şimdi projemizi çalıştırırsak GridControl dolu gelecektir ama diğer Controller boş gelecektir. Bahsettiğimiz bağlantıları kuralım.
Bağlantıyı kurmadan önce aşağıdaki görselden PivotGridControl’ü inceleyelim.
- Drop Filter Fileds Here = Bu kısımda sorgudaki tüm kolonlar buraya otomatik eklenir.
- Drop Data Items Here = Bu kısımda Drop Data Items kısmında görünecek olan verilerin kolonları koyacağız.
- Drop Row Fields Here = Bu kısma gruplama yapacağımız kolonları koyacağız. Yukarıdaki örnek sorgumuza göre Adı / Kodu ve Banka kolonları bu alana gelecek.
- Drop Columns Fields Here = Bu kısımda Row Fields için yapmak istediklerimizi kolon bazlı yapmak istersek kullanacağız. Bu dersimde kullanmayacağım.
Aşağıdaki şekilde PivotGridControl ile GridControlü birbirlerine bağlıyoruz.
pivotGridControl1.DataSource = gridControl1.DataSource; pivotGridControl1.RetrieveFields();
Ancak bununla işimiz bitmiyor. Az önce verdiğim ve açıkladığım görselde, hangi kolonu nereye yerleştireceğimize karar vermemiz gerekiyor. Bana göre verdiğim örnek sorgu için en mantıklı şekilde ayarlamayı yapıyorum. Bu ayarı da kod ile yapacağız. Aşağıdaki gibi…
pivotGridControl1.Fields.Add("Banka", DevExpress.XtraPivotGrid.PivotArea.RowArea); pivotGridControl1.Fields.Add("Tipi", DevExpress.XtraPivotGrid.PivotArea.RowArea); pivotGridControl1.Fields.Add("Adı", DevExpress.XtraPivotGrid.PivotArea.RowArea); pivotGridControl1.Fields.Add("Maliyet", DevExpress.XtraPivotGrid.PivotArea.DataArea);
- RowArea dediğmiz kısım, Drop Row Fields Here kısmına otomatik eklenecek.
- DataArea, dediğimiz kısım, Drop Data Items Here kısmına otomatik eklenecek.
Şimdi çalışan şeklinde görelim.
Projemizi çalıştırdıktan sonra böyle bir görüntü ile karşılaşacağız. Elbette sağ tarafta ChartControl ler var ama onları göstermedim bu görselde. Şimdi ChartControl ‘lerimizi PivotGridControl ile bağlayalım.
Forma eklediğimiz ChartControl ‘e tıklayalım ve sağ üst köşesinde çıkan küçük oka tıklayalım.
Sonra karşımıza çıkan menüden aşağıdaki görseldeki gibi PivotGridControl nesnemizi, ChartControl için datasource olarak seçelim.
Tüm işlemlerimizi halletmiş olduk. Şimdi aşağıdaki görsellerde ekran görüntüsünü görebilirsiniz.
C# DevExpress Grid, Pivot, Chart Bağlantısı Kurmak dersimiz de bu kadardı arkadaşlar. Hem ekran görüntüsü olarak hemde video olarak nasıl göründüğünü ve çalıştığını sizlerle paylaştım.
C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.
Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…
Sağlıcakla ve takipte kalın.