FrmComCountView.cs 7.2 KB
using log4net.Repository.Hierarchy;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using TSA_V.Common;
using TSA_V.DeviceLibrary;
using TSA_V.LoadCSVLibrary;

namespace TSA_V
{
    public partial class FrmComCountView : FrmBase 
    {
        public  List<ComponetUploadInfo> dataList = new List<ComponetUploadInfo>(); 
        public FrmComCountView(List<ComponetUploadInfo> dataList )
        {
            InitializeComponent();
            this.dataList = dataList; 
        }
       
        private void FrmImageViewer_Load(object sender, EventArgs e)
        {
            LoadData(); 
            this.WindowState = FormWindowState.Maximized;
        }
        private   void addData (ComponetUploadInfo obj)
        {
            DataGridViewRow row = new DataGridViewRow();
            row.CreateCells(dgvData);
            row.Cells[0].Value = obj.Id;
            row.Cells[Column_TagNo.Index].Value = obj.TagNo;
            row.Cells[Column_PN.Index].Value = obj.PN;
            row.Cells[Column_PositionNum.Index].Value = obj.PositionNum;
            row.Cells[Column_ComCount.Index].Value = obj.ComCount;
            row.Cells[Column_nCount.Index].Value = obj.NewCount;
            if (obj.NewCount != obj.ComCount)
            {
                row.DefaultCellStyle.BackColor = Color.LightBlue; 
                row.Cells[Column_ISUpdate.Index].Value = "√";
            }
            else
            {

                row.DefaultCellStyle.BackColor = Color.White;
                row.Cells[Column_ISUpdate.Index].Value = "";
            }
            dgvData.Rows.Add(row);
        }
        private void LoadData()
        {
            //dgvData.DataSource = dataList;


            dgvData.Columns[0].Visible = false;
            dgvData.Columns[Column_TagNo.Index].HeaderText = ResourceCulture.GetString(ResourceCulture.Col_Num, "位号");
            dgvData.Columns[Column_PN.Index].HeaderText = ResourceCulture.GetString(ResourceCulture.Col_Name, "物料编码");
            dgvData.Columns[Column_PositionNum.Index].HeaderText = ResourceCulture.GetString(ResourceCulture.Col_Position, "料盘位置");
            dgvData.Columns[Column_ComCount.Index].HeaderText = ResourceCulture.GetString(ResourceCulture.Col_Count, "数量");
            dgvData.Columns[Column_nCount.Index].HeaderText = ResourceCulture.GetString("Col_Count_N", "修改后数量");
            dgvData.Columns[Column_ISUpdate.Index].HeaderText = ResourceCulture.GetString("Column_ISUpdate", "是否修改");


            dgvData.AllowUserToDeleteRows = false;
            dgvData.AllowUserToOrderColumns = false;
            Column_TagNo.ReadOnly = true;
            Column_PN.ReadOnly = true;
            Column_PositionNum.ReadOnly = true; 
            Column_ComCount.ReadOnly = true;
            Column_nCount.ReadOnly = false;
            foreach (ComponetUploadInfo obj in dataList)
            {
                addData(obj);
            }


            this.Text = ResourceCulture.GetString("FrmListViewer_Text", "数据预览");
            btnCancel.Text = ResourceCulture.GetString("FrmListViewer_btnCancel_Text", "取消");
            btnOK.Text = ResourceCulture.GetString("FrmListViewer_btnOK_Text", "确定");
        }
        private void  GetList()
        {
            List<ComponetUploadInfo> pointList = new List<ComponetUploadInfo>();
            foreach (DataGridViewRow row in dgvData.Rows)
            {
                if (row != null)
                {
                    ComponetUploadInfo point = getRowPointInfo(row);
                    if (point != null)
                    {
                        pointList.Add(point);
                    }
                }
            }
            this.dataList = new List<ComponetUploadInfo>(pointList);
        }
        private ComponetUploadInfo getRowPointInfo(DataGridViewRow row)
        {
            ComponetUploadInfo point = new ComponetUploadInfo();
            try
            {
                if (row.Cells[Column_TagNo.Name].Value == null)
                {
                    return null;
                }
                point.Id = Convert.ToInt32( row.Cells[Column_ID.Name].Value.ToString());
                point.PN = row.Cells[this.Column_PN.Name].Value.ToString();
                point.TagNo = row.Cells[this.Column_TagNo.Name].Value.ToString(); 
                point.PositionNum =  row.Cells[this.Column_PositionNum.Name].Value.ToString();
                point.ComCount = row.Cells[this.Column_ComCount.Name].Value.ToString();
                point.NewCount = row.Cells[this.Column_nCount.Name].Value.ToString();  
            }
            catch (Exception ex)
            {
                LogUtil.error( "保存数据出错:" + ex.ToString()); 
                return null;
            }
            return point;
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            GetList();
            this.DialogResult = DialogResult.OK;
            this.Close();
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            if(dataList.Count <= 0)
            {
                this.DialogResult = DialogResult.Cancel;
                this.Close();
            }
            DialogResult resul = MessageBox.Show(ResourceCulture.GetString("SureCancelData","确认取消数据上传?"), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (resul == DialogResult.Yes)
            { 
                this.DialogResult = DialogResult.Cancel;
                this.Close();
            }
        }

        private void dgvData_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                ComponetUploadInfo com = getRowPointInfo(dgvData.Rows[e.RowIndex]);
                if(com.NewCount.Equals(com.ComCount))
                { 
                    dgvData.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White;
                    dgvData.Rows[e.RowIndex].Cells[Column_ISUpdate.Index].Value = "";
                }
                else
                {
                    dgvData.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.LightBlue;
                    dgvData.Rows[e.RowIndex].Cells[Column_ISUpdate.Index].Value = "√";

                }
            }
        }

        private void dgvData_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
        {
            // 表头宽度
            SizeF strSizeF = e.Graphics.MeasureString((e.RowIndex + 1).ToString(), this.dgvData.RowHeadersDefaultCellStyle.Font);
            if (strSizeF.Width + 20 > this.dgvData.RowHeadersWidth)
                this.dgvData.RowHeadersWidth = 20 + (int)strSizeF.Width;
            // 序号显示
            SolidBrush b = new SolidBrush(dgvData.RowHeadersDefaultCellStyle.ForeColor);
            e.Graphics.DrawString(
                (e.RowIndex + 1).ToString(System.Globalization.CultureInfo.CurrentUICulture),
                this.dgvData.DefaultCellStyle.Font,
                b,
                e.RowBounds.Location.X + 10,
                e.RowBounds.Location.Y + 4);
        }

    }
}