Forum
Kasa programında Gelir ve giderlerin olduğu gridview yapım var bunları Tarih sırasına göre sıralıyorum. Bakiye adında bir sütuna ihtiyacım var yürüyen bakiye tutmak istiyorum.
void GridDoldur()
{
var gridDoldur = (from kasa in ctx.Kasas
orderby kasa.TARIH
select new
{
kasa.ID,
kasa.TARIH,
kasa.FISNO,
kasa.MAKBUZNO,
kasa.GELIR,
kasa.GIDER,
kasa.ACIKLAMA
}).ToList();
Liste.DataSource = gridDoldur;
}
merhaba bunu EF yerıne dırek SQL üzerinde bir view ile halletmeniz daha dogru olur https://social.technet.microsoft.com/Forums/sqlserver/tr-TR/413e5f88-9aa6-4796-95d0-63950e76a376/sql-yryen-bakiye?forum=sqltr şu örnek işinizi görecektir.
saygılar
ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com
Linq ile yürüyen toplam aşağıdaki şekilde alınabilir;
List<int> veriler = new List<int>() { 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 30, 2017 };int tmp = 0;
var sorgu = from x in veriler select new { sayı = x, yürüyen_bakiye = (tmp += x) //<=== };
foreach (var v in sorgu){ Console.WriteLine("Sayı: {0}, Bakiye: {1}", v.sayı, v.yürüyen_bakiye);}
Buna göre aşağıdaki şekilde deneyebilirsiniz;
void GridDoldur(){ int tmp = 0; var gridDoldur = (from kasa in ctx.Kasas orderby kasa.TARIH select new { kasa.ID, kasa.TARIH, kasa.FISNO, kasa.MAKBUZNO, kasa.GELIR, kasa.GIDER, yürüyen_bakiye = (tmp += kasa.GIDER - kasa.GELIR) //<=== kasa.ACIKLAMA }).ToList(); Liste.DataSource = gridDoldur;}
