private string[] GetRowData(ProductInvPeriod productInvPeriod) { string[] rowData = new string[2 + productInvPeriod.DataToGrid.Count * 2]; rowData[0] = productInvPeriod.InventoryType; rowData[1] = productInvPeriod.ProductCount.ToString(); for (int i = 0; i < productInvPeriod.DataToGrid.Count; i++) { ProductInvPeriod data = productInvPeriod.DataToGrid[i]; if (productInvPeriod.IsForTitle) { rowData[2 + i * 2] = data.DateFrom.ToString() + " ~ " + data.DateTo.ToString(); rowData[2 + i * 2 + 1] = data.DateFrom.ToString() + " ~ " + data.DateTo.ToString(); } else { double rate = 0; if (productInvPeriod.ProductCount > 0) { rate = data.ProductCount * 1.0 / productInvPeriod.ProductCount; rowData[2 + i * 2] = rate.ToString("0.00%"); } rowData[2 + i * 2 + 1] = data.PercentageStandard.ToString("0.00%"); } } return(rowData); }
private List <ProductInvPeriod> GetDataToGrid(List <ProductInvPeriod> productInvPeriodList) { List <ProductInvPeriod> returnValue = new List <ProductInvPeriod>(); if (productInvPeriodList.Count >= 0) { //新增一个Title ProductInvPeriod title = new ProductInvPeriod(); title.InventoryType = productInvPeriodList[0].InventoryType; title.IsForTitle = true; title.ProductCount = 0; foreach (ProductInvPeriod item in productInvPeriodList) { title.DataToGrid.Add(item); title.ProductCount += item.ProductCount; } returnValue.Add(title); //新增一个Title ProductInvPeriod data = new ProductInvPeriod(); data.InventoryType = productInvPeriodList[0].InventoryType; data.IsForTitle = false; data.ProductCount = 0; foreach (ProductInvPeriod item in productInvPeriodList) { data.DataToGrid.Add(item); data.ProductCount += item.ProductCount; } returnValue.Add(data); if (title.DataToGrid.Count > _AddColumnCount) { _AddColumnCount = title.DataToGrid.Count; } } return(returnValue); }
private void ProcessDataDourceToGrid(ref object[] dataSource) { this.gridWebGrid.Rows.Clear(); _AddColumnCount = 0; List <ProductInvPeriod> newDataSource = new List <ProductInvPeriod>(); if (dataSource != null) { ProductInvPeriod lastProductInvPeriod = null; List <ProductInvPeriod> productInvPeriodList = new List <ProductInvPeriod>(); foreach (ProductInvPeriod productInvPeriod in dataSource) { if (lastProductInvPeriod == null || productInvPeriod.InventoryType == lastProductInvPeriod.InventoryType) { productInvPeriodList.Add(productInvPeriod); } else { newDataSource.AddRange(GetDataToGrid(productInvPeriodList)); productInvPeriodList.Clear(); productInvPeriodList.Add(productInvPeriod); } lastProductInvPeriod = productInvPeriod; } //处理结尾 newDataSource.AddRange(GetDataToGrid(productInvPeriodList)); dataSource = newDataSource.ToArray(); InitWebGrid(); } }