private void dgvPutinRecord_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { WarehouseOrderOrderEnum orderBy = WarehouseOrderOrderEnum.DispathTime; switch (e.ColumnIndex) { case 3: orderBy = WarehouseOrderOrderEnum.Staff; break; case 4: orderBy = WarehouseOrderOrderEnum.DispathPlace; break; case 5: orderBy = WarehouseOrderOrderEnum.DispathTime; break; } if (currentOrderBy == orderBy) { ascding = !ascding; } else { ascding = true; } currentOrderBy = orderBy; customPageControl.MannuleClickGo(); }
/// <summary> /// 获得出库订单表 /// </summary> /// <param name="totalCount"></param> /// <param name="searchName"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="orderEnum"></param> /// <param name="ascending"></param> /// <returns></returns> public CResult <List <WebRemovalWarehouseOrder> > GetRemovalWarehouseOrderList(out int totalCount, string searchName = "", int pageIndex = -1, int pageSize = 100, WarehouseOrderOrderEnum orderEnum = WarehouseOrderOrderEnum.DispathTime, bool ascending = false, DateTime?searchStarttime = null, DateTime?searchEndTime = null) { totalCount = 0; using (var db = new WarehouseContext()) { Expression <Func <RemovalWarehouseOrder, bool> > filter = r => r.StateID == (int)RecordState.Show && r.RemovalWarehouseRecords.Count > 0; if (!string.IsNullOrWhiteSpace(searchName)) { filter = filter.And(r => r.Staff.Contains(searchName) || r.SpeedChangeBoxName.Contains(searchName) || r.DispathPlace.Contains(searchName)); } if (searchStarttime.HasValue) { filter = filter.And(r => r.DispathTime >= searchStarttime); } if (searchEndTime.HasValue) { searchEndTime = searchEndTime.Value.AddDays(1); filter = filter.And(r => r.DispathTime <= searchEndTime); } var removalWareOrderIQueary = RepositoryIoc.GetRemovalWarehouseOrderRepository(db).LazyGet(out totalCount, filter); switch (orderEnum) { case WarehouseOrderOrderEnum.Count: if (ascending) { removalWareOrderIQueary = removalWareOrderIQueary.OrderBy(r => r.RemovalWarehouseRecords.Count()); } else { removalWareOrderIQueary = removalWareOrderIQueary.OrderByDescending(r => r.RemovalWarehouseRecords.Count()); } break; case WarehouseOrderOrderEnum.DispathTime: if (ascending) { removalWareOrderIQueary = removalWareOrderIQueary.OrderBy(r => r.DispathTime); } else { removalWareOrderIQueary = removalWareOrderIQueary.OrderByDescending(r => r.DispathTime); } break; case WarehouseOrderOrderEnum.DispathPlace: if (ascending) { removalWareOrderIQueary = removalWareOrderIQueary.OrderBy(r => r.DispathPlace); } else { removalWareOrderIQueary = removalWareOrderIQueary.OrderByDescending(r => r.DispathPlace); } break; case WarehouseOrderOrderEnum.Staff: if (ascending) { removalWareOrderIQueary = removalWareOrderIQueary.OrderBy(r => r.Staff); } else { removalWareOrderIQueary = removalWareOrderIQueary.OrderByDescending(r => r.Staff); } break; } removalWareOrderIQueary = removalWareOrderIQueary.Page(out totalCount, null, true, pageIndex, pageSize); var result = (from f in removalWareOrderIQueary select new WebRemovalWarehouseOrder() { OrderID = f.OrderID, SpeedChangeBoxName = f.SpeedChangeBoxName, Count = f.RemovalWarehouseRecords.Count(), Staff = f.Staff, DispathPlace = f.DispathPlace, DispathTime = f.DispathTime, PlanCount = f.PlanCount, }).ToList(); return(new CResult <List <WebRemovalWarehouseOrder> >(result)); } }