Esempio n. 1
0
        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();
        }