using Core.Mes.Client.Comm.Control; using Core.StlMes.Client.Judge.Commons; using CoreFS.CA06; using System.Data; using System.Drawing; using System.Windows.Forms; namespace Core.StlMes.Client.Judge.Controls { public partial class CraftLg2CicCtrl : UserControl { private Dal _d; public CraftLg2CicCtrl(Control container, OpeBase ob) { InitializeComponent(); container.Controls.Add(this); this.Dock = DockStyle.Fill; _d = new Dal(ob); } public void Query(string craftNo) { entityGrid1.BeginUpdate(); dataTable1.Clear(); for (int i = dataTable1.Columns.Count - 1; i > 0; i--) { dataTable1.Columns.RemoveAt(i); } DataTable dt = _d.GetTableByXmlId("CraftLg2CicDAL.Query", craftNo); //创建列 foreach (DataRow dr in dt.Rows) { if (!dataTable1.Columns.Contains(dr["ChemName"].ToString())) { dataTable1.Columns.Add(new DataColumn(dr["ChemName"].ToString())); } } //创建行 dataTable1.Rows.Add("标准上限"); dataTable1.Rows.Add("标准下限"); dataTable1.Rows.Add("目标值"); dataTable1.Rows.Add("限制元素"); dataTable1.Rows.Add("限制元素上限"); dataTable1.Rows.Add("限制元素下限"); dataTable1.Rows.Add("备注"); //填充数据 foreach (DataRow dr in dt.Rows) { string e = dr["ChemName"].ToString(); dataTable1.Rows[0][e] = dr["stdmaxSign"].ToString() + dr["stdmax"].ToString(); dataTable1.Rows[1][e] = dr["stdminSign"].ToString() + dr["stdmin"].ToString(); dataTable1.Rows[2][e] = dr["stdtarget"].ToString(); dataTable1.Rows[3][e] = dr["eleName"].ToString(); dataTable1.Rows[4][e] = dr["eleMaxSign"].ToString() + dr["eleMax"].ToString(); dataTable1.Rows[5][e] = dr["eleMinSign"].ToString() + dr["eleMin"].ToString(); dataTable1.Rows[6][e] = dr["memo"].ToString(); } GridHelper.RefreshAndAutoSize(entityGrid1); //复合元素列头变色 foreach (var column in entityGrid1.DisplayLayout.Bands[0].Columns) { foreach (DataRow row in dt.Rows) { if (row["ChemName"].ToString() == column.Key) { if (row["ChemType"].ToString() == "B") { column.Header.Appearance.BackColor = Color.FromArgb(189, 183, 107); column.Header.ToolTipText = row["ChemFormula"].ToString(); } break; } } } //设置复合元素计算值提示 foreach (var row in entityGrid1.Rows) { foreach (var cell in row.Cells) { } } entityGrid1.EndUpdate(); } public void Clear() { } } }