dataGridview'deki verilerin toplam fiyatı

IsmayLBAL
07-01-2018, 15:52   |  #1  
IsmayLBAL avatarı
OP Üye
Teşekkür Sayısı: 0
64 mesaj
Kayıt Tarihi:Kayıt: Ağu 2011

 

https://i.hizliresim.com/m2lMJZ.jpg

yukarıdaki resimdeki gibi bir tablom var arkadaşlar, istediğim şey de şu; burada birimleri ile ürün türleri aynı olanların toplam fiyatlarını almak istiyorum ;

örneğin : birimi Baro Kafeteryası olanların ürün türü olarak sıcaklarının toplamı, yemek'lerin toplam fiyatı bunu almak istiyorum, bunu yapabilir miyiz bu mümkün müdür ? ilginiz için teşekkür ederim.

Son Düzenleme: IsmayLBAL ~ 07 Ocak 2018 15:52 Neden:
chnkyn
07-01-2018, 15:56   |  #2  
Taze Üye
Teşekkür Sayısı: 1
16 mesaj
Kayıt Tarihi:Kayıt: Eki 2017

group by ile yapabilirsin.

select urunadi,adet,fiyat , toplamtutar,birimi,urunturu from  urunler where [where şartı var ise]  group by urunturu

IsmayLBAL
07-01-2018, 16:08   |  #3  
IsmayLBAL avatarı
OP Üye
Teşekkür Sayısı: 0
64 mesaj
Kayıt Tarihi:Kayıt: Ağu 2011

şart koyarak değil de tüm veriler datagridview'deyken bunu yapmak istiyorum, where şartı yok

White-Fox
07-01-2018, 16:08   |  #4  
White-Fox avatarı
Yıllanmış Üye
Teşekkür Sayısı: 149
1,042 mesaj
Kayıt Tarihi:Kayıt: Eyl 2010

listi binding ediyorsan  where vb fonksiyonlarla linq kullanarak yapabilirsin daha kolay olabilir.

gibi;
data.GroupBy(d => d.Id)
    .Select(
        g => new
        {
            Key = g.Key,
            Value = g.Sum(s => s.Value),
            Name = g.First().Name,
            Category = g.First().Category
        });

IsmayLBAL
07-01-2018, 16:12   |  #5  
IsmayLBAL avatarı
OP Üye
Teşekkür Sayısı: 0
64 mesaj
Kayıt Tarihi:Kayıt: Ağu 2011

çok teşekkür ederim ancak kod kısmını anlamadım, for döngüsü ile çözmeye çalıştım yapamadım, uzun zamandır kodla uğraşmıyorum ondan dolayı hakim olamadım kodlara

White-Fox
07-01-2018, 16:25   |  #6  
White-Fox avatarı
Yıllanmış Üye
Teşekkür Sayısı: 149
1,042 mesaj
Kayıt Tarihi:Kayıt: Eyl 2010

limit gibi düşün d nesnesinin d.id si giderken liste sonuna , seç (şartlar ) yada daha farklı şekilde.

liste.where(x=>x.id koşul) bu hatırladığım kadarıyla collection döndürmeli.

linq diye aratırsan bolca örnek bulursun.find item/object in list by linq gibi.

White-Fox bu faydalı yanıtı için aşağıdaki 1 kişiden teşekkür aldı... [ Göster ]
IsmayLBAL
07-01-2018, 16:28   |  #7  
IsmayLBAL avatarı
OP Üye
Teşekkür Sayısı: 0
64 mesaj
Kayıt Tarihi:Kayıt: Ağu 2011

yardımların için çok teşekkür ederim, ben araştırayım linq olayını, belki farklı şekilde de çözüm yöntemi bulabilirim, for döngüsü ile yapılamaz mı peki bu ?, çünkü sıfırdan linq kodunu öğrenmek için pek fazla vaktim yok

White-Fox
07-01-2018, 16:37   |  #8  
White-Fox avatarı
Yıllanmış Üye
Teşekkür Sayısı: 149
1,042 mesaj
Kayıt Tarihi:Kayıt: Eyl 2010

yani şimdi bilmiyorum ne yaptın yapılır tabi , ama wpf mi kullanıyorsun , winform mu wpf de satır satır erişemezsin datagride , winformda erişirsin satırlara tek tek bakarsın karşılaştırırsın.sonuçlarıda bir kaç değişkene atarsın.

Datagride veriyi nasıl alıyorsun mesela ?

Son Düzenleme: White-Fox ~ 07 Ocak 2018 16:38
IsmayLBAL
07-01-2018, 16:39   |  #9  
IsmayLBAL avatarı
OP Üye
Teşekkür Sayısı: 0
64 mesaj
Kayıt Tarihi:Kayıt: Ağu 2011

sana projemi mail atabilirim istersen, şu anda küçük bir proje zaten, win forum ile yapıyorum

bu kodla çekiyorum;

baglanti.Open();
            ds.Clear();
            adapter = new SQLiteDataAdapter("select * from gunlukgirisler_tablo where islemtarihi='" + islemtarihitxt.Value.ToShortDateString() + "' order by aitoldugubirim", baglanti);
            adapter.Fill(ds, "gunlukgirisler_tablo");
            kayitlar_grid.DataSource = ds.Tables["gunlukgirisler_tablo"];
            baglanti.Close();
            kayitlar_grid.ClearSelection();

olayı anlatabildim mi bilmiyorum biraz karışık sanırım

Son Düzenleme: IsmayLBAL ~ 07 Ocak 2018 16:41
White-Fox
07-01-2018, 16:47   |  #10  
White-Fox avatarı
Yıllanmış Üye
Teşekkür Sayısı: 149
1,042 mesaj
Kayıt Tarihi:Kayıt: Eyl 2010

datagrid.rows[satır numarası].Column[sutun numarası] şeklinde o alana ulaşabilirsin gerisi koşuluna kalıyor.

mesela

datagrid.rows[0].column[1]; //0.satırın  1. sütununda veri bu bu şuysa şu satır şu sutundakini al topla.gibi

mesela ; double a += datagrid.row[0].column[2]; gibi gibi.

Yardımcı olurdum ama şu sıralar yoğunum.

IsmayLBAL
07-01-2018, 16:50   |  #11  
IsmayLBAL avatarı
OP Üye
Teşekkür Sayısı: 0
64 mesaj
Kayıt Tarihi:Kayıt: Ağu 2011

o kısmı biliyorum, onu sağladım ancak işte birden fazla tür olduğu için her tür için ayrı ayrı nasıl kontrol edeceğimi bilemiyorum

IsmayLBAL
07-01-2018, 17:10   |  #12  
IsmayLBAL avatarı
OP Üye
Teşekkür Sayısı: 0
64 mesaj
Kayıt Tarihi:Kayıt: Ağu 2011

peki sadece şunu yapabilir miyiz, datagrid içindeki sıcakların toplamının ayrı, yemeklerin toplamlarının ayrı gösterilmesini, bu sıcak,yemek değişebilir örnek olarak bu isimleri söyledim

White-Fox
07-01-2018, 20:01   |  #13  
White-Fox avatarı
Yıllanmış Üye
Teşekkür Sayısı: 149
1,042 mesaj
Kayıt Tarihi:Kayıt: Eyl 2010

yapılmaz değil yapılır , ancak sana dediğim gibi linq kullanırsan hem optimize hemde düzgün çalışır yoksa yarın öbürgün bir hata olursa arar durursun :) birde winform yerine wpf daha makul , bir sınıf tanımlarsın ürünler diye sonra bu sınıftan nesneler oluşturup listeye atarsın listeyide binding edersin datagride listede istediğini yaparsın koşula göre ararsın. 

mesela

id,urunadi,urunfiyati propertyleri olan bir sınıf var.

listem.where(x=>x.urunadi=="ürün1").select(a=>a.urunfiyatı);

adı ürün1 olan ürünlerin hepsinde urun fiyatlarını çekersin.Yoksa cidden çekilecek dert değil.Ancak eski yöntemle yapıcam ille diyorsan şunu bilmek lazım ürün çeşitleri sayısını.ürün çeşitleri sayısını bilecek ve o kadar sayı için değişken alıp bu değişkenlere toplamları yazacaksın.ve bu işin minimum yükü maximum olabilecek farklı ürün sayısını belirlemekle olur.

Son Düzenleme: White-Fox ~ 07 Ocak 2018 20:03
cm1987_
08-01-2018, 02:00   |  #14  
Üye
Teşekkür Sayısı: 2
56 mesaj
Kayıt Tarihi:Kayıt: Tem 2013

ben c#.net kullanıyor .net cı degılım ama tavsıyem wındoss form uzerınde devam etmen

örn bir formun var formda ıkı tane textboxın var bunlara girdigin sayıların toplamını datagrıdvıew a yazdırabılırsın hatta datagrıdvıew ayarlarından hangısutunun nerede baslayacagınıda ayarlayabılırsın
ama tavsıyem wpf kullanma eegr xamarın bılıyorsan mobil windows phone bır uyugulama gelıstırıyorsan wpf kullanabılırsın

lınq ıle ılgılı olarak verı cekebılırsın ama oop bılıyorsan yoksa hıc bulasmayın işin ıcınden cıkamazsınız
iyi calısmalar

IsmayLBAL
08-01-2018, 11:38   |  #15  
IsmayLBAL avatarı
OP Üye
Teşekkür Sayısı: 0
64 mesaj
Kayıt Tarihi:Kayıt: Ağu 2011

ikinizin tavsiyeleri için de ayrı ayrı teşekkür ederim ancak hala sorunu çözemedim dünden beri, aslında çok basit ama nedense çözemiyorum.

DatagridView'e satırlarımı çekiyorum, urunadı aynı olanların toplam değerlerini ayrı ayrı almaya çalışıyorum ancak bir türlü alamıyorum

cm1987_
08-01-2018, 12:13   |  #16  
Üye
Teşekkür Sayısı: 2
56 mesaj
Kayıt Tarihi:Kayıt: Tem 2013

toplam degerlerı ayrı ayrı almak ıcın SQL de iki syrı tablo ıcın Diagram olusturup datagrıdvıewa cekebılırsın

IsmayLBAL
08-01-2018, 14:45   |  #17  
IsmayLBAL avatarı
OP Üye
Teşekkür Sayısı: 0
64 mesaj
Kayıt Tarihi:Kayıt: Ağu 2011

bu bilgiler dataGridView'deyken yapmam lazım, filtreleme olayına girmeden

White-Fox
08-01-2018, 19:10   |  #18  
White-Fox avatarı
Yıllanmış Üye
Teşekkür Sayısı: 149
1,042 mesaj
Kayıt Tarihi:Kayıt: Eyl 2010
Alıntı: IsmayLBAL  
bu bilgiler dataGridView'deyken yapmam lazım, filtreleme olayına
 

Bak , veritabanıyla uğraştığın yetmiyormuş gibi birde bunları user interface de göstericem diye çabalıyorsun gerek yok.Wpf de bu katman ayrıdır , görsel arayüz xaml , arka plan c# çalışır.Arka planda işlerini organize edersin otomatik görsel arayüze işlemleri binding eder kurtulursun.

Üstteki tavsiyeye katılmıyorum,winform tabiki kullanıldığı alanlar var ancak şu söylediğini o teknolojiyle yapmak kabul edilebilir değil.

Öğrenmek çokta zor değil , okuyacağın 4-5 sayfa kod , deneyeceğin 3-5 şeyden sonra istediğin şeyi yazarsın birde bu zamana kadar niye sürünmüşüm winformla diye kızarsın :) Çokta söylenecek bir şey yok bunların üstüne , kolay gelsin...

IsmayLBAL
10-01-2018, 12:00   |  #19  
IsmayLBAL avatarı
OP Üye
Teşekkür Sayısı: 0
64 mesaj
Kayıt Tarihi:Kayıt: Ağu 2011

Wpf ile ilgili eğitim videolarını seyredeceğim, teşekkür ederim