private void LoadUniquePart() { DataTable dt = dalItem.SPPUniqueSelectWithoutAssembledItem(); dt.Columns.Add("STOCK"); dt.Columns.Add("DELIVERY QTY"); dt.Columns.Add("PCS/BAG"); dt.Columns.Add("TOTAL BAG(S)"); dt.Columns.Add("MAX STOCK LEVEL"); string preSize = ""; string currentSize = ""; for (int i = 0; i < dt.Rows.Count; i++) { if (string.IsNullOrEmpty(dt.Rows[i]["TYPE"].ToString())) { dt.Rows[i].Delete(); } else { currentSize = dt.Rows[i]["SIZE"].ToString(); int qtyPerBag = int.TryParse(dt.Rows[i]["STD_PACKING"].ToString(), out qtyPerBag) ? qtyPerBag : 0; int stockQty = int.TryParse(dt.Rows[i]["QUANTITY"].ToString(), out stockQty) ? stockQty : 0; int toDeliveryQty = int.TryParse(dt.Rows[i]["TO_DELIVERY_QTY"].ToString(), out toDeliveryQty) ? toDeliveryQty : 0; int maxStockLevel = int.TryParse(dt.Rows[i]["MAX_LEVEL"].ToString(), out maxStockLevel) ? maxStockLevel : 0; string category = dt.Rows[i]["CATEGORY"].ToString(); dt.Rows[i]["STOCK"] = stockQty; if (qtyPerBag > 0 && category == text.Cat_ReadyGoods) { dt.Rows[i]["DELIVERY QTY"] = toDeliveryQty; int bagQty = stockQty / qtyPerBag; //dt.Rows[i]["STOCK"] = stockQty + " ("+bagQty+" bags)"; dt.Rows[i]["PCS/BAG"] = qtyPerBag + "/bag"; dt.Rows[i]["TOTAL BAG(S)"] = bagQty; dt.Rows[i]["MAX STOCK LEVEL"] = maxStockLevel; } if (preSize == "") { preSize = currentSize; } else if (preSize != currentSize) { DataRow toInsert = dt.NewRow(); dt.Rows.InsertAt(toInsert, i); preSize = currentSize; } } } dt.AcceptChanges(); dt.Columns["STOCK"].ColumnName = "STOCK(PCS)"; dt.Columns.Remove("QUANTITY"); dt.Columns.Remove("STD_PACKING"); dt.Columns.Remove("TO_DELIVERY_QTY"); dt.Columns.Remove("MAX_LEVEL"); dgvUnique.DataSource = dt; dgvUnique.ColumnHeadersDefaultCellStyle.Font = new Font("Segoe UI", 8F, FontStyle.Regular); dgvUnique.Columns["PCS/BAG"].DefaultCellStyle.Font = new Font("Segoe UI", 6F, FontStyle.Italic); dgvUnique.Columns["MAX STOCK LEVEL"].DefaultCellStyle.Font = new Font("Segoe UI", 6F, FontStyle.Italic); dgvUnique.DefaultCellStyle.Font = new Font("Segoe UI", 9F, FontStyle.Regular); dgvUnique.Columns["PCS/BAG"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; dgvUnique.Columns["MAX STOCK LEVEL"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; dgvUnique.Columns["TOTAL BAG(S)"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; dgvUnique.Columns["SIZE"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight; dgvUnique.Columns["UNIT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft; //dgvUnique.Columns["DELIVERY QTY"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; //dgvUnique.Columns["DELIVERY QTY"].DefaultCellStyle.Font = new Font("Segoe UI", 6F, FontStyle.Italic); dgvUnique.Columns["DELIVERY QTY"].Visible = false; dgvUnique.Columns.Cast <DataGridViewColumn>().ToList().ForEach(f => f.SortMode = DataGridViewColumnSortMode.NotSortable); dgvUnique.ClearSelection(); }