[英]How to show sum using LINQ statement in Grid view of the MVC app
I developing the MVC application. 我正在开发MVC应用程序。
I am stuck in LINQ Syntax. 我陷入了LINQ语法中。
I wan to show the sum of List Items in index view of parent. 我希望在父级的索引视图中显示列表项的总和。 Please check code below.
请检查下面的代码。
In Model I have two classes. 在模型中,我有两个类。
public class StockAdjustment
{
public int Id { get; set; }
public List<StockAdjustmentItem> StockAdjustmentItems { get; set; }
public int SumOfStockAdjustmentItemQuantity
{
get
{
if (this.StockAdjustmentItems != null)
{
return this.StockAdjustmentItems.Sum(s=>s.OriginalQuantity);
}
return 0;
}
}
}
public class StockAdjustmentItem
{
public int Id { get; set; }
public int OriginalQuantity { get; set; }
public StockAdjustment StockAdjustment { get; set; }
}
public StockAdjustment GetAll(int Id)
{
oStockAdjustment = GetStockAdjustmentById(Id);
var prepo = new ProductRepo();
oStockAdjustment.StockAdjustmentItems = new List<StockAdjustmentItem>();
StockAdjustmentItem ai1 = new StockAdjustmentItem();
ai1.Id = 1 ;
ai1.OriginalQuantity = 250;
oStockAdjustment.StockAdjustmentItems.Add(ai1);
StockAdjustmentItem ai2 = new StockAdjustmentItem();
ai2.Id = 1;
ai2.OriginalQuantity = 375;
oStockAdjustment.StockAdjustmentItems.Add(ai2);
return oStockAdjustment;
}
Now I have controller Code 现在我有控制器代码
public ActionResult Index(string searchContent = "")
{
AdjustmentRepo oAdjustmentRepo = new AdjustmentRepo();
var adjustments = from adjustment in oAdjustmentRepo.GetAll() select adjustment;
ViewBag.StockAdjustmentList = adjustments;
return View(adjustments);
}
This Working perfectly fine... 这个工作很好...
Now, the problem comes when, I am trying to show StockAdjustment in List. 现在,问题来了,当我尝试在List中显示StockAdjustment时。
I have to show the sum of the OriginalQuantites of StockAdjustmentItems in the Front of StockAdjustment item in grid. 我必须在网格的StockAdjustment项的前面显示StockAdjustmentItems的OriginalQuantites的总和。
in above Exmaple I want to show 650(250 + 375) in the row of a gird. 在上面的Exmaple中,我想在网格的行中显示650(250 + 375)。
@model IEnumerable<StockWatchServices.DomainClass.StockAdjustment>
@Html.Grid(Model).Columns(columns =>
{
columns.Add(c=>c.StockAdjustmentItems.Sum( OriginalQuantity ???? Im stuck here... )
}
What should I write here ? 我应该在这里写些什么?
I can see like this... 我可以看到这样的...
Create a getter only property on the StockAdjustment
class 在
StockAdjustment
类上创建仅吸气剂属性
public class StockAdjustment
{
public int Id { get; set; }
public List<StockAdjustmentItem> StockAdjustmentItems { get; set; }
public int SumOfStockAdjustmentItemQuantity
{
get
{
if (this.StockAdjustmentItems != null)
{
return this.StockAdjustmentItems.Sum(s=>s.OriginalQuantity);
}
return 0;
}
}
} }
And then in your Razor view: 然后在您的Razor视图中:
@Html.Grid(Model).Columns(columns =>
{
columns.Add(c => c.SumOfStockAdjustmentItemQuantity)
}
Can you try with below code : 您可以尝试以下代码:
@Html.Grid(Model).Columns(columns =>
{
columns.Add(c => c.StockAdjustmentItems.Where(quantity => quantity.OriginalQuantity != null).Sum(sum => sum.OriginalQuantity).ToString());
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.