private void LoadUniquePart()
        {
            DataTable dt = dalItem.SPPUniqueSelect();

            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++)
            {
                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;

                dt.Rows[i]["STOCK"] = stockQty;



                if (qtyPerBag > 0)
                {
                    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;

                    int maxStockLevel = 0;

                    if (currentSize == "20")
                    {
                        maxStockLevel = text.StockLevel_20;
                    }
                    else if (currentSize == "25")
                    {
                        maxStockLevel = text.StockLevel_25;
                    }
                    else if (currentSize == "32")
                    {
                        maxStockLevel = text.StockLevel_32;
                    }
                    else if (currentSize == "50")
                    {
                        maxStockLevel = text.StockLevel_50;
                    }
                    else if (currentSize == "63")
                    {
                        maxStockLevel = text.StockLevel_63;
                    }

                    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.Columns["STOCK"].ColumnName = "STOCK(PCS)";
            dt.Columns.Remove("QUANTITY");
            dt.Columns.Remove("STD_PACKING");
            dt.Columns.Remove("TO_DELIVERY_QTY");
            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.Cast <DataGridViewColumn>().ToList().ForEach(f => f.SortMode = DataGridViewColumnSortMode.NotSortable);

            dgvUnique.ClearSelection();
        }