using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Mcp.Control.Entity; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using Infragistics.Win.UltraWinToolbars; namespace Core.StlMes.Client.Mcp.Control { public partial class ChamferTestRecord : FrmBase { public List Detail { get; private set; } public ChamferTestRecord(List _detail) { InitializeComponent(); if (_detail == null) _detail = new List(); mchChamferingResultDEntityBindingSource.DataSource = _detail.Select(p=>p.Clone()).ToList(); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); ultraGridDetailDes1.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default; ultraGridDetailDes1.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; EntityHelper.ShowGridCaption(ultraGridDetailDes1.DisplayLayout.Bands[0]); } private void ultraToolbarsManager1_ToolClick(object sender, ToolClickEventArgs e) { switch (e.Tool.Key) { case "Save": Save(); break; case "Close": CloseFrm(); break; } } private void CloseFrm() { DialogResult = DialogResult.Cancel; Close(); } /// /// 保存可疑、剔除品 /// private void Save() { ultraGridDetailDes1.UpdateData(); var list1 = mchChamferingResultDEntityBindingSource.DataSource as List; list1 = list1.Where(p => p.Chk).ToList(); /* foreach (var MchBugDEntity in list1) { if (MchBugDEntity.MeasurementTime == "") { MessageUtil.ShowTips("测量时间不能为空!"); return; } if (MchBugDEntity.DriftModelNo == "") { MessageUtil.ShowTips("通经头编号不能为空!"); return; } if (MchBugDEntity.DriftModelLen == null || MchBugDEntity.DriftModelLen <= 0) { MessageUtil.ShowTips("请输入正确的通径头有效长度!"); return; } }*/ Detail = list1; DialogResult = DialogResult.OK; } private void ultraGridDetailDes1_InitializeTemplateAddRow(object sender, InitializeTemplateAddRowEventArgs e) { if (ultraGridDetailDes1.ActiveRow == null) e.TemplateAddRow.Activated = true; } private void ultraGridDetailDes1_KeyDown(object sender, KeyEventArgs e) { if (e.Control && e.KeyCode == Keys.V) { Copy(); } } private void Copy() { try { var list1 = mchChamferingResultDEntityBindingSource.DataSource as List; string data = Clipboard.GetText(); if (string.IsNullOrEmpty(data)) return; string[] DataRows = data.Split('\n'); List NewList = new List(); for (int i = 0; i < DataRows.Length; i++) { if (string.IsNullOrWhiteSpace(DataRows[i])) continue; string[] DataCell = DataRows[i].Split('\t'); int StartCount = 0; if (string.IsNullOrWhiteSpace(DataCell[0])) StartCount++; NewList.Add(new MchChamferingResultDEntity() { AngleVal = DataCell[StartCount++], EdgeVal = DataCell.Length > StartCount ? DataCell[StartCount++] : "", CutVal = DataCell.Length > StartCount ? DataCell[StartCount++] : "", Chk = true }); } mchChamferingResultDEntityBindingSource.DataSource = NewList; } catch (Exception ex) { // log } } private void ToolStripMenuItem_Click(object sender, EventArgs e) { Copy(); } } }