问题描述
我正在尝试构建一个桌面应用程序,从事该产品工作的人员将在一段时间后提交该应用程序。但是,如果在我项目的此页面上,我希望如果工作人员没有产品,则该列应跳过或删除。
private class DataBindingProjection
{
public DateTime distributionDate { get; set; }
public string WorkersName { get; set; }
public string Address { get; set; }
public string Contact { get; set; }
public string ProductName { get; set; }
public int distributedPiece { get; set; }
public string HowManyDays { get; set; }
}
private void RemainderForm_Load(object sender,EventArgs e)
{
var worker = from w in db.Workers
join d in db.distributions on w.WorkerId equals d.WorkerId
join p in db.Products on d.ProductId equals p.ProductId
orderby d.DateTime
select new DataBindingProjection
{
distributionDate = d.DateTime,WorkersName = d.Worker.WorkerName,Address = d.Worker.Address,Contact = d.Worker.Contact,ProductName = d.Product.ProductName,distributedPiece =
(db.distributions
.Where(m => m.Worker.WorkerId == w.WorkerId &&
m.Product.ProductId == p.ProductId).Sum(m => (int?)m.Piece) ?? 0
) - (db.Collections
.Where(m => m.Worker.WorkerId == w.WorkerId &&
m.Product.ProductId == p.ProductId)
.Sum(m => (int?)m.Piece + (int?)m.Return) ?? 0),HowManyDays = DbFunctions.DiffDays(d.DateTime,DateTime.Now).Value + " days ago."
};
dataGridView1.DataSource = worker.ToList();
}
我想跳过或删除distributedPiece = 0的行; 我怎样才能更好地做到这一点? 最近几天,我一直在尝试不同的方法,但是我不能。所以我在找你的注意
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)