开发工具与关键技术:Visual Studio 和 ASP.NET.MVC,
作者:陈鸿鹏
撰写时间:2019年7月6日
在最近做项目中遇到了计算总和的要求,项目的要求是显示出中国电信(时长)+ 中国移动(时长)+ 中国联通(时长)+ 中国网通(时长)+ 中国铁通(时长)= 他们相加的合计(时长)也就是说他们相加起来的总的时长,那么我们该怎实行呢,接下来我们就一起来实现吧。
首先呢,我们就要从数据库中获取所需要的表联查,查出所需要的字段,数据里面的字段的属性类型为浮点类型(float)总和或者说合计这个字段不能存在,也就是说合计不用给字段如下所示
public ActionResult selectBranchVie(LayuiTablePage layuiTablePa,stringAreaName)
{
List listBranchVie = (from tbBranchVie in myModel.B_BranchVie
join tbArea in myModel.D_Area on tbBranchVie.AreaID equals tbArea.AreaID
select new BranchVieVo
{
BranchVieID = tbBranchVie.BranchVieID,//部门竞争ID
让Foot1=中国电信(时长)+ 中国移动(时长)+ 中国联通(时长)+ 中国网通(时长)+ 中国铁通(时长)= 他们相加的合计(时长)的字段相加,然后把相关的所需的字段查出
Foot1 = tbBranchVie.Telecom + tbBranchVie.Move + tbBranchVie.Link + tbBranchVie.NetOpen + tbBranchVie.IronOpen,//合计(时长)
Telecom = tbBranchVie.Telecom,//中国电信(时长)
Move = tbBranchVie.Move,//中国移动(时长)
Link = tbBranchVie.Link,//中国联通(时长)
NetOpen = tbBranchVie.NetOpen,//中国网通(时长)
IronOpen = tbBranchVie.IronOpen,//中国铁通(时长)
AreaID = tbBranchVie.AreaID,//区域ID
AreaName = tbArea.AreaName//所属区域
}).ToList();
if (!string.IsNullOrEmpty(AreaName))
{
listBranchVie =listBranchVie.Where(m =>m.AreaName.Contains(AreaName)).ToList();
}
//计算数据总条数
int totalRow = listBranchVie.Count();
//分页数据
List dbBranchVie = listBranchVie
.Skip(layuiTablePage.GetStartIndex())
.Take(layuiTablePage.limit)
.ToList();
//实例化LayuiTableData
LayuiTableData layuiTableData = new LayuiTableData();
layuiTableData.count = totalRow;
layuiTableData.data = dbBranchVie;
return Json(layuiTableData, JsonRequestBehavior.AllowGet);
}
还有就是视图层中实例化的layui的表格把合计(Foot1)的这一字段给上输出如图所示:
最后我们点击运行来看一下成果图吧: