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 ReasonChoose : FrmBase { public ReasonChoose(OpeBase _ob, string ReasonSortCode, List Data) { InitializeComponent(); EntityHelper.ShowGridCaption(ultraGridDetailDes1.DisplayLayout.Bands[0]); ob = _ob; DataTable unpass = ServerHelper.GetData("com.steering.mes.mcp.common.PlanService.getBaseInfoOrder", new object[] { ReasonSortCode }, ob); var list = new ValueList(); for (int i = 0; i < unpass.Rows.Count; i++) { list.ValueListItems.Add(new ValueListItem(unpass.Rows[i]["BASECODE"].ToString2(), unpass.Rows[i]["BASENAME"].ToString2())); } ultraGridDetailDes1.DisplayLayout.Bands[0].Columns["UnpassCode"].ValueList = list; DataTable dtTreat = ServerHelper.GetData("com.steering.mes.mcp.common.PlanService.getBaseInfo", new object[] { "702103" }, ob); var list1 = new ValueList(); var list3 = new ValueList(); for (int i = 0; i < dtTreat.Rows.Count; i++) { list1.ValueListItems.Add(new ValueListItem(dtTreat.Rows[i]["BASECODE"].ToString2(), dtTreat.Rows[i]["BASENAME"].ToString2())); if ("70210304" != dtTreat.Rows[i]["BASECODE"].ToString2()) list3.ValueListItems.Add(new ValueListItem(dtTreat.Rows[i]["BASECODE"].ToString2(), dtTreat.Rows[i]["BASENAME"].ToString2())); } ultraGridDetailDes1.DisplayLayout.Bands[0].Columns["TreatmentCode"].ValueList = list3; ultraGridDetailDes1.DisplayLayout.Bands[0].Columns["TreatmentCode1"].ValueList = list1; var list2 = new ValueList(); list2.ValueListItems.Add(new ValueListItem("00", "质保部")); list2.ValueListItems.Add(new ValueListItem("01", "管加工")); // list.ValueListItems.Add(new ValueListItem("2", "废品")); ultraGridDetailDes1.DisplayLayout.Bands[0].Columns["ResponsibleCode"].ValueList = list2; mchFinalCheckResultDEntityBindingSource.DataSource = Data.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; } 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 string Name { get; private set; } public List ListData { get; private set; } /// /// 保存可疑、剔除品 /// private void Save() { ultraGridDetailDes1.UpdateData(); ListData = mchFinalCheckResultDEntityBindingSource.DataSource as List; if (ListData != null) ListData = ListData.Where(p => p.Check).ToList(); if (ListData.Any(p => p.UnpassCode == "")) { MessageBox.Show("不合项目不能为空"); return; } if (ListData.Any(p => p.ResponsibleCode == "")) { MessageBox.Show("责任单位不能为空"); return; } if (ListData.Any(p => p.UnpassCode == "")) { MessageBox.Show("处置方式不能为空"); return; } Name = ListData == null || !ListData.Any() ? "" : ListData.Select(p => p.UnpassName).Aggregate((a, b) => (a == "" ? "" : (a + ",")) + b); 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) { if (e.Cell.Column.Key == "UnpassCode") { e.Cell.Row.Cells["UnpassName"].Value = e.Cell.Text; } if (e.Cell.Column.Key == "ResponsibleCode") { e.Cell.Row.Cells["ResponsibleName"].Value = e.Cell.Text; } if (e.Cell.Column.Key == "TreatmentCode") { e.Cell.Row.Cells["TreatmentName"].Value = e.Cell.Text; } if (e.Cell.Column.Key == "TreatmentCode1") { e.Cell.Row.Cells["TreatmentName1"].Value = e.Cell.Text; } if (e.Cell.Column.Key != "Check") { e.Cell.Row.Cells["Check"].Value = true; ultraGridDetailDes1.UpdateData(); } } } }