public JsonResult LoadReceiptDeliverBillsGrid(string sidx, string sord, int page, int rows, string startTime, string endTime, string customerName, string carNo, string deliveryNo) { //读取数据 string strErrText; DeliverSystem deliver = new DeliverSystem(); List<DeliverBill> listDeliverBill = deliver.LoadReceiptDeliverBillsByConditions(startTime, endTime, customerName, carNo, deliveryNo, LoginAccountId, LoginStaffName, out strErrText); if (listDeliverBill == null) { throw new Exception(strErrText); } //提取当前页面数据 int nTotalRows = listDeliverBill.Count; int nPageIndex = page; int nPageSize = rows; int nTotalPages = nTotalRows / nPageSize; if (nTotalRows % nPageSize > 0) nTotalPages++; string sortExpression = (sidx ?? "CreateTime") + " " + (sord ?? "ASC"); var data = listDeliverBill.OrderBy(sortExpression).Skip((nPageIndex - 1) * nPageSize).Take(nPageSize).ToList(); //生成表格数据 var ret = new { total = nTotalPages, page = nPageIndex, records = nTotalRows, rows = ( from b in data select new { id = b.Id, cell = new string[] { b.Id.ToString(), b.CreateTime.ToString("yyyy-MM-dd"), b.BillNo, b.CustomerName, b.DeliveryNo, b.ReceiverName, b.CarNo, b.TrailerNo, b.TotalPackages.ToString(), b.TotalTunnages.ToString("#0.######"), b.TotalPiles.ToString("#0.######"), b.TotalTenThousands.ToString("#0.######") } }).ToArray(), userdata = new { CreateTime = InnoSoft.LS.Resources.Labels.Total, Packages = data.Sum(s => s.TotalPackages), Tunnages = data.Sum(s => s.TotalTunnages), Piles = data.Sum(s => s.TotalPiles), TenThousands = data.Sum(s => s.TotalTenThousands) } }; return Json(ret, JsonRequestBehavior.AllowGet); }