using Core.Mes.Client.Comm.Control; using Core.StlMes.Client.Judge.Commons; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System; using System.Data; using System.Windows.Forms; namespace Core.StlMes.Client.Judge.Controls { public partial class QcmPhyRclInfo : UserControl { private readonly Dal _d; public QcmPhyRclInfo(OpeBase ob) { InitializeComponent(); splitContainer1.SplitterDistance = splitContainer1.Size.Height / 3; splitContainer2.SplitterDistance = splitContainer1.Size.Height / 3; Dock = DockStyle.Fill; BringToFront(); _d = new Dal(ob); } private void splitContainer1_Resize(object sender, EventArgs e) { splitContainer1.SplitterDistance = splitContainer1.Size.Height / 3; splitContainer2.SplitterDistance = splitContainer1.Size.Height / 3; } public void DisableSort() { entityGrid1.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; entityGrid1.DisplayLayout.Bands[0].Override.HeaderClickAction = HeaderClickAction.Select; entityGrid2.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; entityGrid2.DisplayLayout.Bands[0].Override.HeaderClickAction = HeaderClickAction.Select; entityGrid3.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; entityGrid3.DisplayLayout.Bands[0].Override.HeaderClickAction = HeaderClickAction.Select; } public void Query(string checkNo, string judgeStoveNo, string batchNo, bool clearData) { Query(new string[] { checkNo }, judgeStoveNo, batchNo, clearData); } public void Query(string[] checkNos, string judgeStoveNo, string batchNo, bool clearData) { ClearData(); DataTable dt = null; DataTable dt1 = null; foreach (var checkNo in checkNos) { if (dt == null) { dt = _d.GetTableByXmlId("QcmPhyRclInfo.query", checkNo); } else { GridHelper.CopyDataToDatatable(_d.GetTableByXmlId("QcmPhyRclInfo.query", checkNo), dt, false); } if (dt1 == null) { dt1 = _d.GetTableByXmlId("QcmPhyRclInfo.queryDetail", checkNo); } else { GridHelper.CopyDataToDatatable(_d.GetTableByXmlId("QcmPhyRclInfo.queryDetail", checkNo), dt1, false); } } GridHelper.CopyDataToDatatable(dt, dataTable1, clearData); foreach (DataRow row in dataTable1.Rows) { if (row["judgeStoveNo"].ToString() != "") continue; row["judgeStoveNo"] = judgeStoveNo; row["batchNo"] = batchNo; } var count = 2; foreach ( var data in dt1.AsEnumerable() .Select(p => new { Key = p["PhyCodeMax"].ToString2(), Name = p["PhyNameMax"].ToString2() })) if (!dataTable1.Columns.Contains(data.Key)) { dataTable1.Columns.Add(new DataColumn { ColumnName = data.Key, Caption = data.Name }); entityGrid2.DisplayLayout.Bands[0].Columns[data.Key].Hidden = true; entityGrid3.DisplayLayout.Bands[0].Columns[data.Key].Hidden = true; entityGrid1.DisplayLayout.Bands[0].Columns[data.Key].RowLayoutColumnInfo.OriginX = 2 * ++count; } entityGrid1.DisplayLayout.Bands[0].Columns["rclInfo"].RowLayoutColumnInfo.OriginX = 2 * ++count; entityGrid1.DisplayLayout.Bands[0].Columns["checkName"].RowLayoutColumnInfo.OriginX = 2 * ++count; entityGrid1.DisplayLayout.Bands[0].Columns["checkTime"].RowLayoutColumnInfo.OriginX = 2 * ++count; foreach (DataRow rowMain in dataTable1.Rows) { var main = rowMain; foreach ( var row in dt1.AsEnumerable().Where(p => p["SampleNo"].ToString2() == main["SampleNo"].ToString())) rowMain[row["PhyCodeMax"].ToString2()] = row["SampleCount"].ToString3(); } GridHelper.RefreshAndAutoSizeExceptColumns(entityGrid1, ""); GridHelper.RefreshAndAutoSizeExceptColumns(entityGrid2, ""); GridHelper.RefreshAndAutoSizeExceptColumns(entityGrid3, ""); } public void ClearData() { this.dataTable1.Clear(); while (dataTable1.Columns.Count > 29) { dataTable1.Columns.RemoveAt(29); } } } }