using Core.Mes.Client.Comm.Control; using Core.StlMes.Client.Judge.Commons; using CoreFS.CA06; using System; using System.Data; using System.Windows.Forms; namespace Core.StlMes.Client.Judge.Controls { public partial class QcmJhyPhyDbResultCtrl : UserControl { private Dal _d; public QcmJhyPhyDbResultCtrl(Control container, OpeBase ob) { InitializeComponent(); _d = new Dal(ob); container.Controls.Add(this); this.Dock = DockStyle.Fill; this.BringToFront(); } public void Query(string judgeStoveNo) { dataTable1.Clear(); //DataRow craftDbCnt = _d.GetRowByXmlId("QcmJhyPhyDbResultDAL.queryCraftDbCnt", designKey, mscPline, "B", pic); //if (craftDbCnt["COUNT"].ToString() == "0") //{ // return; //} //DataRow processCodeC = _d.GetRowByXmlId("QcmJhyPhyDbResultDAL.queryCraftProcessC", designKey, mscPline, "B"); //String phyCodeMin = ""; //if (processCodeC["VALUE"].ToString() == "B002") //{//连铸 // phyCodeMin = "C0010"; //} //else //{//模铸 // phyCodeMin = "C0025"; //} //DataTable dt = _d.GetTableByXmlId("QcmJhyPhyDbResultDAL.query", judgeStoveNo, phyCodeMin); DataTable dt = _d.GetTableByXmlId("QcmJhyPhyDbResultDAL.queryQcmJhyDbResult", judgeStoveNo); ultraGrid1.BeginUpdate(); BindingData(dt); GridHelper.RefreshAndAutoSize(ultraGrid1); ultraGrid1.EndUpdate(); } public void BindingData(DataTable dt) { //创建列 foreach (DataRow row in dt.Rows) { string phyCode = row["phyCode"].ToString(); string phyName = row["phyName"].ToString(); if (!dataTable1.Columns.Contains(phyCode)) { dataTable1.Columns.Add(new DataColumn() { ColumnName = phyCode, Caption = phyName }); } } string sampleNo = ""; DataRow dr = dataTable1.NewRow(); foreach (DataRow row in dt.Rows) { if (row["sampleNo"].ToString() == "") continue; if (row["sampleNo"].ToString() != sampleNo) { dr = dataTable1.NewRow(); dataTable1.Rows.Add(dr); sampleNo = row["sampleNo"].ToString(); } dr["sampleId"] = row["sampleId"].ToString(); dr["sampleNo"] = row["sampleNo"].ToString(); string phyCode = row["phyCode"].ToString(); dr[phyCode] = row["VALUE1"].ToString(); if (row["VALUE1"].ToString().TryParseDouble()) { if (double.Parse(row["VALUE1"].ToString()) > 2) { dr.SetColumnError(dr.Table.Columns[phyCode], "不合格"); } } else { if (row["VALUE1"].ToString() == "有") { dr.SetColumnError(dr.Table.Columns[phyCode], "不合格"); } } } } public void ClearData() { dataTable1.Clear(); } } }