using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Core.Mes.Client.Comm.Server; 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.Machining { public partial class ReasonChooseNew : FrmBase { private readonly bool _chooseOne; public ReasonChooseNew(OpeBase _ob, string ReasonSortCode,bool ChooseOne,List existReson ) { InitializeComponent(); ob = _ob; _chooseOne = ChooseOne; List listFailDetail = EntityHelper.GetData( "com.steering.mes.mcp.common.PlanService.getBaseInfoOrder", new object[] { ReasonSortCode }, ob); if(existReson!=null && existReson.Any()) listFailDetail.Where(p=> existReson.Any(q=>q.FailTypeCode== p.Basecode)).ToList().ForEach(p=>p.Chk=true); comBaseInfoEntityBindingSource.DataSource = listFailDetail; } protected override void OnLoad(EventArgs e) { base.OnLoad(e); ultraGridDetailDes1.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default; ultraGridDetailDes1.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; } 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(); } public List FailData { get; private set; } /// /// 保存可疑、剔除品 /// private void Save() { ultraGridDetailDes1.UpdateData(); List listReason = comBaseInfoEntityBindingSource.DataSource as List; List reson = listReason==null?new List() : listReason.Where(p => p.Chk).ToList(); if (_chooseOne && reson.Count >= 2) { MessageBox.Show("最多只能选择一个原因"); return; } FailData = reson.Select(p => new MchBugDEntity() { FailTypeCode = p.Basecode, FailTypeName = p.Basename }).ToList(); DialogResult = DialogResult.OK; } private void ultraGridDetailDes1_InitializeTemplateAddRow(object sender, InitializeTemplateAddRowEventArgs e) { if (ultraGridDetailDes1.ActiveRow == null) e.TemplateAddRow.Activated = true; } private void ultraGridDetailDes1_CellChange(object sender, CellEventArgs e) { } } }