using Models; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace MaiMuAOI.SysUI.DefectPicShow { public partial class HistoryViewFrm : Form { Order _order; public HistoryViewFrm(Order order) { InitializeComponent(); UIStyle.SetUIStyle(this); this.uiTitel1.FatherForm = this; _order = order; this.BackColor = Color.White; } private void HistoryViewFrm_Load(object sender, EventArgs e) { dataGridView1.Columns.Clear(); DataTable dt = new DataTable(); //建立个数据表 dt.Columns.Add(new DataColumn("修改日期", typeof(string)));//在表中添加string类型的列 dt.Columns.Add(new DataColumn("修改账号", typeof(string)));//在表中添加string类型的列 dt.Columns.Add(new DataColumn("合格", typeof(string)));//在表中添加string类型的列 dt.Columns.Add(new DataColumn("比对", typeof(string)));//在表中添加string类型的列 if (_order.StepInfo.ProcessType != "快速流程") { dt.Columns.Add(new DataColumn("张力均值", typeof(string))); dt.Columns.Add(new DataColumn("厚度均值", typeof(string))); dt.Columns.Add(new DataColumn("Y轴方向PT值均值", typeof(string))); dt.Columns.Add(new DataColumn("线宽正面均值", typeof(string))); //dt.Columns.Add(new DataColumn("反面检测均值", typeof(string))); //dt.Columns.Add(new DataColumn("X轴方向PT值均值", typeof(string))); //dt.Columns.Add(new DataColumn("主栅连接线均值", typeof(string))); //dt.Columns.Add(new DataColumn("主栅宽度均值", typeof(string))); //dt.Columns.Add(new DataColumn("主栅间距均值", typeof(string))); //dt.Columns.Add(new DataColumn("细栅间距均值", typeof(string))); //dt.Columns.Add(new DataColumn("背极宽度均值", typeof(string))); //dt.Columns.Add(new DataColumn("主栅长度均值", typeof(string))); //dt.Columns.Add(new DataColumn("Mark点横向间距均值", typeof(string))); //dt.Columns.Add(new DataColumn("Mark点竖向间距均值", typeof(string))); //dt.Columns.Add(new DataColumn("鱼叉口长均值", typeof(string))); //dt.Columns.Add(new DataColumn("鱼叉口宽均值", typeof(string))); //dt.Columns.Add(new DataColumn("鱼叉口间距均值", typeof(string))); } else { string[] pointType = _order.SizeDefectInfoList.Select(t => t.StepName).Distinct().ToList().ToArray(); for (int i = 0; i < pointType.Length; i++) { dt.Columns.Add(new DataColumn($"{pointType[i]}均值", typeof(string))); } } dt.Columns.Add(new DataColumn("堵孔数量", typeof(int)));//在表中添加int类型的列 dt.Columns.Add(new DataColumn("脏污数量", typeof(int)));//在表中添加int类型的列 dt.Columns.Add(new DataColumn("钢丝异常数量", typeof(int)));//在表中添加int类型的列 dt.Columns.Add(new DataColumn("纤维丝数量", typeof(int)));//在表中添加int类型的列 dt.Columns.Add(new DataColumn("缺口数量", typeof(int)));//在表中添加int类型的列 dt.Columns.Add(new DataColumn("针孔数量", typeof(int)));//在表中添加int类型的列 dt.Columns.Add(new DataColumn("泡泡数量", typeof(int)));//在表中添加int类型的列 dt.Columns.Add(new DataColumn("划伤数量", typeof(int)));//在表中添加int类型的列 dt.Columns.Add(new DataColumn("压线数量", typeof(int)));//在表中添加int类型的列 dt.Columns.Add(new DataColumn("斜边数量", typeof(int)));//在表中添加int类型的列 dt.Columns.Add(new DataColumn("栅线数量", typeof(int)));//在表中添加int类型的列 foreach (var item in _order.OrderHistoryList) { //新增 DataRow dr;//行 dr = dt.NewRow(); //dr["选择"] = false; dr["修改日期"] = item.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"); dr["修改账号"] = item.CreateUserCode; dr["合格"] = item.Qualified ? "不合格" : "合格"; dr["比对"] = item.CompareResult == 2 ? "不通过" : item.CompareResult == 1 ? "通过" : "未比对"; dr["张力均值"] = item.TensionValue; dr["厚度均值"] = item.HeightValue; if (_order.StepInfo.ProcessType != "快速流程") { dr["Y轴方向PT值均值"] = item.PTValue; dr["线宽正面均值"] = item.LineWidthValue; } else { //按步骤名称插入列 string[] pointType = _order.SizeDefectInfoList.Select(t => t.StepName).Distinct().ToList().ToArray(); for (int i = 0; i < item.SizeDefectAverageInfoList.Count; i++) dr[$"{item.SizeDefectAverageInfoList[i].StepName}均值"] = item.SizeDefectAverageInfoList[i].AverageData; } //dr["反面检测均值"] = item.FLineWidthValue; //dr["X轴方向PT值均值"] = item.XPTValue; //dr["主栅连接线均值"] = item.MGridIntervalValue; //dr["主栅宽度均值"] = item.MGridWidthValue; //dr["主栅间距均值"] = item.MGridSpreadValue; //dr["细栅间距均值"] = item.FGridSpreadValue; //dr["背极宽度均值"] = item.BackPoleWidthValue; //dr["主栅长度均值"] = item.MGridLengthValue; //dr["Mark点横向间距均值"] = item.MarkXDisValue; //dr["Mark点竖向间距均值"] = item.MarkYDisValue; //dr["鱼叉口长均值"] = item.ForkLengthValue; //dr["鱼叉口宽均值"] = item.ForkWidthValue; //dr["鱼叉口间距均值"] = item.ForkDisValue; dr["堵孔数量"] = item.DKCount; dr["脏污数量"] = item.ZWCount; dr["钢丝异常数量"] = item.GSYCCount; dr["纤维丝数量"] = item.XWSCount; dr["缺口数量"] = item.QKCount; dr["针孔数量"] = item.ZKCount; dr["泡泡数量"] = item.PPCount; dr["划伤数量"] = item.HSCount; dr["压线数量"] = item.YXCount; dr["斜边数量"] = item.XBCount; dr["栅线数量"] = item.SXCount; dt.Rows.Add(dr);//在表的对象的行里添加此行 } dataGridView1.DataSource = dt; } } }