using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using Core.StlMes.Client.SaleOrder.BLL; using CoreFS.CA06; using Core.Mes.Client.Comm.Tool; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using Core.StlMes.Client.Qcm; using Core.Mes.Client.Comm.Server; using CoreFS.SA06; using Infragistics.Win; using Core.Mes.Client.Comm.Control; namespace Core.StlMes.Client.SaleOrder.Control { public partial class CraftOrdDesignStdSicCtrl : UserControl { private CraftOrdDesignStdSicBLL _designStdSicBLL; private CraftOrdDesignMscPlBLL _designMscPlBLL; private CraftOrdDesignMscPlPrcBLL _designMscPlPrcBLL; //初始下拉框 private UltraComboEditor[] ultras = new UltraComboEditor[9]; private OpeBase _ob; public CraftOrdDesignStdSicCtrl(System.Windows.Forms.Control container, OpeBase ob) { InitializeComponent(); _ob = ob; _designStdSicBLL = new CraftOrdDesignStdSicBLL(ob); _designMscPlBLL = new CraftOrdDesignMscPlBLL(ob); _designMscPlPrcBLL = new CraftOrdDesignMscPlPrcBLL(ob); container.Controls.Add(this); this.Dock = DockStyle.Fill; LoadBaseData(); } private void LoadBaseData() { for (int i = 0; i < ultras.Length; i++) { ultras[i] = new UltraComboEditor(); Controls.Add(ultras[i]); ultras[i].Visible = false; ultras[i].DropDownListWidth = -1; } //从表 UltraGridBand ugbC = entityGrid1.DisplayLayout.Bands[0]; //下限符号 QcmBaseQuery.NitializeSignMin(ultras[1]); //公差约束项一下限符号 QcmBaseQuery.BindColumn(ultras[1], "ZminSign", ugbC); //公差约束项二下限符号 QcmBaseQuery.BindColumn(ultras[1], "CminSign", ugbC); //公差约束项三下限符号 QcmBaseQuery.BindColumn(ultras[1], "SminSign", ugbC); //上限符号 QcmBaseQuery.NitializeSignMax(ultras[2]); //公差约束项一上限符号 QcmBaseQuery.BindColumn(ultras[2], "ZmaxSign", ugbC); //公差约束项二上限符号 QcmBaseQuery.BindColumn(ultras[2], "CmaxSign", ugbC); //公差约束项三上限符号 QcmBaseQuery.BindColumn(ultras[2], "SmaxSign", ugbC); //公差项 QcmBaseQuery.NitializeTolerance(ultras[3], false, _ob); QcmBaseQuery.BindColumn(ultras[3], "BiasCode", ugbC); //精度等级 QcmBaseQuery.NitializePrecision(ultras[4], true, _ob); QcmBaseQuery.BindColumn(ultras[4], "Lv", ugbC); //公差约束项 QcmBaseQuery.NitializeToleranceRestrain(ultras[7], true, _ob); QcmBaseQuery.BindColumn(ultras[7], "BiasCodeZ", ugbC); QcmBaseQuery.BindColumn(ultras[7], "BiasCodeC", ugbC); QcmBaseQuery.BindColumn(ultras[7], "BiasCodeS", ugbC); } /// /// 查询质量设计公差 /// /// public void Query(CraftOrdDesignStdSicEntity designStdSicEntity) { this.CraftOrdDesignStdSicEntityBindingSource.DataSource = _designStdSicBLL.Query(designStdSicEntity); } private string designKey = ""; private string[] _parms; /// /// 查询质量设计公差 /// /// public void QueryByDesignKeySic(string[] parms) { designKey = parms[0]; _parms = parms; var data = _designStdSicBLL.QueryByDesignKeySic(parms); var list = data.Select(p => p.Sic).Distinct().ToList(); if (list.Count > 1) { ultras[6].DataSource = data.Select(p => p.Sic).Distinct().ToList(); QcmBaseQuery.BindColumn(ultras[6], "Sic", entityGrid1.DisplayLayout.Bands[0]); } this.CraftOrdDesignStdSicEntityBindingSource.DataSource = data; //UltraComboEditor cmb = new UltraComboEditor(); foreach (var row in entityGrid1.Rows) { GridEdite(row); if (row.GetValue("CraftSource") == "0") { row.Cells["Chk"].Value = null; row.Cells["Chk"].Activation = Activation.ActivateOnly; row.Update(); } //if (cmb.ValueList.FindString(row.GetValue("Sic")) == -1) //{ // cmb.ValueList.ValueListItems.Add(row.GetValue("Sic")); //} } //cmb.DisplayStyle = EmbeddableElementDisplayStyle.WindowsVista; //entityGrid1.DisplayLayout.Bands[0].Columns["Sic"].EditorComponent = cmb; //entityGrid1.DisplayLayout.Bands[0].Columns["Sic"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; } private void entityGrid1_CellChange(object sender, CellEventArgs e) { entityGrid1.UpdateData(); GridEdite(e.Cell.Row); } public void Clear() { this.CraftOrdDesignStdSicEntityBindingSource.Clear(); } public void Save() { List parms = new List(); var rows = entityGrid1.Rows.Where(a => a.GetValue("Chk") == "True"); foreach (var row in rows) { var parm = EntityHelper.CopyEntity(row.ListObject); if (parm.MscPline == "") { MessageUtil.ShowWarning("请选择制程!"); row.SetCellActive("MscPline"); return; } //if (parm.ProcessDescC == "") //{ // MessageUtil.ShowWarning("请选择二级工序!"); // row.SetCellActive("ProcessDescC"); // return; //} if (parm.Sic == "") { MessageUtil.ShowWarning("请选择公差索引码!"); row.SetCellActive("Sic"); return; } if (parm.BiasCode == "") { MessageUtil.ShowWarning("请选择公差主项!"); row.SetCellActive("BiasCode"); return; } if (!parm.BiasCodeZ.Equals("")) { if (parm.ZminSign.Equals("=") && !parm.ZmaxSign.Equals("")) { MessageUtil.ShowWarning("公差约束项<一>:下限符号为‘=’,不能选择上限符号!"); row.SetCellActive("ZmaxSign"); return; } if (parm.ZminSign.Equals("") && parm.ZmaxSign.Equals("")) { MessageUtil.ShowWarning("请选择公差约束项<一>:下限符号或者上限符号!"); row.SetCellActive("ZminSign"); return; } //上限符号与上限值 if (!parm.Zmax.Equals("")) { if (parm.ZmaxSign.Equals("")) { MessageUtil.ShowWarning("请选择公差约束项<一>:上限符号!"); row.SetCellActive("ZmaxSign"); return; } if (StringUtil.IsNumber(parm.Zmax) && parm.Zmax.Length > 10) { MessageUtil.ShowWarning("公差约束项<一>:上限值(10位以内数字)!"); row.SetCellActive("Zmax"); return; } string zMax = parm.Zmax.Replace('t', '1').Replace('D', '1').Replace('L', '1'); if (!StringUtil.IsNumber(parm.Zmax) && zMax.CompileFormula() == null) { MessageUtil.ShowWarning("公差约束项<一>:上限值(请输入合法公式!"); row.SetCellActive("Zmax"); return; } } else { if (!parm.ZmaxSign.Equals("")) { MessageUtil.ShowWarning("请输入公差约束项<一>:上限值!"); row.SetCellActive("ZmaxSign"); return; } } //下限符号与下限值 if (!parm.Zmin.Equals("")) { if (parm.ZminSign.Equals("")) { MessageUtil.ShowWarning("请选择公差约束项<一>:下限符号!"); row.SetCellActive("ZminSign"); return; } if (StringUtil.IsNumber(parm.Zmin) && parm.Zmin.Length > 10) { MessageUtil.ShowWarning("请输入公差约束项<一>:下限值(10位以内数字)!"); row.SetCellActive("Zmin"); return; } string zMin = parm.Zmin.Replace('t', '1').Replace('D', '1').Replace('L', '1'); if (!StringUtil.IsNumber(parm.Zmin) && zMin.CompileFormula() == null) { MessageUtil.ShowWarning("公差约束项<一>:下限值(请输入合法公式!"); row.SetCellActive("Zmin"); return; } } else { if (!parm.ZminSign.Equals("")) { MessageUtil.ShowWarning("请输入公差约束项<一>:下限值!"); row.SetCellActive("Zmin"); return; } } if (!parm.Zmax.Equals("") && !parm.Zmin.Equals("")) //&&Convert.ToDouble(com.Zmin)>Convert.ToDouble(com.Zmax) { int retrunValue = QcmBaseInfo.CheckStdData(parm.ZminSign, parm.ZmaxSign, parm.Zmin, parm.Zmax); if (retrunValue == 0) { MessageUtil.ShowWarning("请输入公差约束项!"); row.SetCellActive("ZminSign"); return; } if (retrunValue == 1) { MessageUtil.ShowWarning("公差约束项<一>下限值与上限值相等,上下限符号请选择<=和>=!"); row.SetCellActive("ZminSign"); return; } if (retrunValue == 2) { MessageUtil.ShowWarning("公差约束项<一>下限值不能大于上限值!"); row.SetCellActive("Zmin"); return; } } } else { if (!parm.ZminSign.Equals("") || !parm.Zmin.Equals("") || !parm.ZmaxSign.Equals("") || !parm.Zmax.Equals("")) { MessageUtil.ShowWarning("请选择公差约束项<一>:公差约束项!"); row.SetCellActive("BiasCodeZ"); return; } } if (!parm.BiasCodeC.Equals("")) { if (parm.CminSign.Equals("=") && !parm.CmaxSign.Equals("")) { MessageUtil.ShowWarning("公差约束项<二>:下限符号为‘=’,不能选择上限符号!"); row.SetCellActive("CmaxSign"); return; } if (parm.CminSign.Equals("") && parm.CmaxSign.Equals("")) { MessageUtil.ShowWarning("请选择公差约束项<二>:下限符号或者上限符号!"); row.SetCellActive("CminSign"); return; } //上限符号与上限值 if (!parm.Cmax.Equals("")) { if (parm.CmaxSign.Equals("")) { MessageUtil.ShowWarning("请选择公差约束项<二>:上限符号!"); row.SetCellActive("CmaxSign"); return; } if (StringUtil.IsNumber(parm.Cmax) && parm.Cmax.Length > 10) { MessageUtil.ShowWarning("请输入公差约束项<二>:上限值(10位以内数字)!"); row.SetCellActive("Cmax"); return; } string Cmax = parm.Cmax.Replace('t', '1').Replace('D', '1').Replace('L', '1'); if (!StringUtil.IsNumber(parm.Cmax) && Cmax.CompileFormula() == null) { MessageUtil.ShowWarning("公差约束项<二>:上限值(请输入合法公式!"); row.SetCellActive("Cmax"); return; } } else { if (!parm.CmaxSign.Equals("")) { MessageUtil.ShowWarning("请输入公差约束项<二>:上限值!"); row.SetCellActive("Cmax"); return; } } //下限符号与下限值 if (!parm.Cmin.Equals("")) { if (parm.CminSign.Equals("")) { MessageUtil.ShowWarning("请选择公差约束项<二>:下限符号!"); row.SetCellActive("CminSign"); return; } if (StringUtil.IsNumber(parm.Cmin) && parm.Cmin.Length > 10) { MessageUtil.ShowWarning("请输入公差约束项<二>:下限值(10位以内数字)!"); row.SetCellActive("Cmin"); return; } string Cmin = parm.Cmin.Replace('t', '1').Replace('D', '1').Replace('L', '1'); if (!StringUtil.IsNumber(parm.Cmin) && Cmin.CompileFormula() == null) { MessageUtil.ShowWarning("公差约束项<二>:下限值(请输入合法公式!"); row.SetCellActive("Cmin"); return; } } else { if (!parm.CminSign.Equals("")) { MessageUtil.ShowWarning("请输入公差约束项<二>:下限值!"); row.SetCellActive("Cmin"); return; } } if (!parm.Cmax.Equals("") && !parm.Cmin.Equals("")) // && Convert.ToDouble(com.Cmin) > Convert.ToDouble(com.Cmax) { int retrunValue = QcmBaseInfo.CheckStdData(parm.CminSign, parm.CmaxSign, parm.Cmin, parm.Cmax); if (retrunValue == 0) { MessageUtil.ShowWarning("输入的数据不完整!"); return; } if (retrunValue == 1) { MessageUtil.ShowWarning("公差约束项<二>下限值与上限值相等,上下限符号请选择<=和>=!"); row.SetCellActive("CminSign"); return; } if (retrunValue == 2) { MessageUtil.ShowWarning("公差约束项<二>下限值不能大于上限值!"); row.SetCellActive("Cmin"); return; } } } else { if (!parm.CminSign.Equals("") || !parm.Cmin.Equals("") || !parm.CmaxSign.Equals("") || !parm.Cmax.Equals("")) { MessageUtil.ShowWarning("请选择公差约束项<二>:公差约束项!"); row.SetCellActive("BiasCodeC"); return; } } if (!parm.BiasCodeS.Equals("")) { if (parm.SminSign.Equals("=") && !parm.SmaxSign.Equals("")) { MessageUtil.ShowWarning("公差约束项<三>:下限符号为‘=’,不能选择上限符号!"); row.SetCellActive("SmaxSign"); return; } if (parm.SminSign.Equals("") && parm.SmaxSign.Equals("")) { MessageUtil.ShowWarning("请选择公差约束项<三>:下限符号或者上限符号!"); row.SetCellActive("SminSign"); return; } //上限符号与上限值 if (!parm.Smax.Equals("")) { if (parm.SmaxSign.Equals("")) { MessageUtil.ShowWarning("请选择公差约束项<三>:上限符号!"); row.SetCellActive("SmaxSign"); return; } if (StringUtil.IsNumber(parm.Smax) && parm.Smax.Length > 10) { MessageUtil.ShowWarning("请输入公差约束项<三>:上限值(10位以内数字)!"); row.SetCellActive("Smax"); return; } string Smax = parm.Smax.Replace('t', '1').Replace('D', '1').Replace('L', '1'); if (!StringUtil.IsNumber(parm.Smax) && Smax.CompileFormula() == null) { MessageUtil.ShowWarning("公差约束项<三>:上限值(请输入合法公式!"); row.SetCellActive("Smax"); return; } } else { if (!parm.SmaxSign.Equals("")) { MessageUtil.ShowWarning("请输入公差约束项<三>:上限值!"); row.SetCellActive("Smax"); return; } } //下限符号与下限值 if (!parm.Smin.Equals("")) { if (parm.SminSign.Equals("")) { MessageUtil.ShowWarning("请选择公差约束项<三>:下限符号!"); row.SetCellActive("SminSign"); return; } if (StringUtil.IsNumber(parm.Smin) && parm.Smin.Length > 10) { MessageUtil.ShowWarning("请输入公差约束项<三>:下限值(10位以内数字)!"); row.SetCellActive("Smin"); return; } string Smin = parm.Smin.Replace('t', '1').Replace('D', '1').Replace('L', '1'); if (!StringUtil.IsNumber(parm.Smin) && Smin.CompileFormula() == null) { MessageUtil.ShowWarning("公差约束项<三>:下限值(请输入合法公式)!"); row.SetCellActive("Smin"); return; } } else { if (!parm.SminSign.Equals("")) { MessageUtil.ShowWarning("请输入公差约束项<三>:下限值!"); row.SetCellActive("Smin"); return; } } if (!parm.Smax.Equals("") && !parm.Smin.Equals("")) //&& Convert.ToDouble(com.Smin) > Convert.ToDouble(com.Smax) { int retrunValue = QcmBaseInfo.CheckStdData(parm.SminSign, parm.SmaxSign, parm.Smin, parm.Smax); if (retrunValue == 0) { MessageUtil.ShowWarning("输入的数据不完整!"); return; } if (retrunValue == 1) { MessageUtil.ShowWarning("公差约束项<三>下限值与上限值相等,上下限符号请选择<=和>=!"); row.SetCellActive("SminSign"); return; } if (retrunValue == 2) { MessageUtil.ShowWarning("公差约束项<三>下限值不能大于上限值!"); row.SetCellActive("Smin"); return; } } } else { if (!parm.SminSign.Equals("") || !parm.Smin.Equals("") || !parm.SmaxSign.Equals("") || !parm.Smax.Equals("")) { MessageUtil.ShowWarning("请选择公差约束项<三>:公差约束项!"); row.SetCellActive("BiasCodeS"); return; } } if (!parm.BiasCodeS.Equals("")) { if (parm.BiasCodeC.Equals("")) { MessageUtil.ShowWarning("请依次填写公差约束项!"); row.SetCellActive("BiasCodeC"); return; } else { if (parm.BiasCodeZ.Equals("")) { MessageUtil.ShowWarning("请依次填写公差约束项!"); row.SetCellActive("BiasCodeZ"); return; } } } else { if (!parm.BiasCodeC.Equals("")) { if (parm.BiasCodeZ.Equals("")) { MessageUtil.ShowWarning("请依次填写公差约束项!"); row.SetCellActive("BiasCodeZ"); return; } } } int i = 0; if (!parm.StdMinVal.Equals("")) { i += 1; if (!StringUtil.IsNumber(parm.StdMinVal) || parm.StdMinVal.Length > 10) { MessageUtil.ShowWarning("下偏差值(mm)请输入10位以内数字!"); row.SetCellActive("StdMinVal"); return; } //if (decimal.Parse(com.StdMinVal) < 0) //{ // errMessage = "下偏差值(mm)不能输入负值"; // return null; //} } if (!parm.StdMaxVal.Equals("")) { if (!StringUtil.IsNumber(parm.StdMaxVal) || parm.StdMaxVal.Length > 10) { MessageUtil.ShowWarning("上偏差值(mm)请输入10位以内数字!"); row.SetCellActive("StdMaxVal"); return; } } if (!parm.StdMinIn.Equals("")) { if (!StringUtil.IsNumber(parm.StdMinIn) || parm.StdMinIn.Length > 10) { MessageUtil.ShowWarning("标准负值(in)请输入10位以内数字!"); row.SetCellActive("StdMinIn"); return; } } if (!parm.StdMaxIn.Equals("")) { if (!StringUtil.IsNumber(parm.StdMaxIn) || parm.StdMaxIn.Length > 10) { MessageUtil.ShowWarning("标准正值(in)请输入10位以内数字!"); row.SetCellActive("StdMaxIn"); return; } } if (!parm.StdMinPercent.Equals("")) { i += 1; if (!StringUtil.IsNumber(parm.StdMinPercent) || parm.StdMinPercent.Length > 10) { MessageUtil.ShowWarning("下偏差值(%)请输入10位以内数字!"); row.SetCellActive("StdMinPercent"); return; } //if (decimal.Parse(com.StdMinPercent) < 0) //{ // errMessage = "下偏差值(%)不能输入负值"; // return null; //} } if (!parm.StdMaxPercent.Equals("")) { if (!StringUtil.IsNumber(parm.StdMaxPercent) || parm.StdMaxPercent.Length > 10) { MessageUtil.ShowWarning("上偏差值(%)请输入10位以内数字!"); row.SetCellActive("StdMaxPercent"); return; } } if (!parm.StdMinFormula.Equals("")) { i += 1; if (parm.StdMinFormula.Length > 100) { MessageUtil.ShowWarning("请输入标准公式下偏差值(mm)!"); row.SetCellActive("StdMinFormula"); return; } //if (com.StdMinFormula.StartsWith("-")) //{ // errMessage = "标准公式下偏差值(mm)不能有负号"; // return null; //} } if (!parm.StdMaxFormula.Equals("")) { if (parm.StdMaxFormula.Length > 100) { MessageUtil.ShowWarning("请输入标准公式上偏差值(mm)!"); row.SetCellActive("StdMaxFormula"); return; } } if (parm.StdMinVal.Equals("") && parm.StdMinFormula.Equals("") && parm.StdMinPercent.Equals("")) { MessageUtil.ShowWarning("请输入一组标准值!"); row.SetCellActive("StdMinVal"); return; } if (parm.StdMinVal.Equals("")) { if (!parm.StdMaxVal.Equals("")) { MessageUtil.ShowWarning("下偏差值(mm)请输入10位以内数字!"); row.SetCellActive("StdMinVal"); return; } } else { if (parm.StdMaxVal.Equals("")) { MessageUtil.ShowWarning("上偏差值(mm)请输入10位以内数字!"); row.SetCellActive("StdMaxVal"); return; } } if (parm.StdMinPercent.Equals("")) { if (!parm.StdMaxPercent.Equals("")) { MessageUtil.ShowWarning("下偏差值(%)请输入10位以内数字!"); row.SetCellActive("StdMinPercent"); return; } } else { if (parm.StdMaxPercent.Equals("")) { MessageUtil.ShowWarning("上偏差值(%)请输入10位以内数字!"); row.SetCellActive("StdMaxPercent"); return; } } if (parm.StdMinFormula.Equals("")) { if (!parm.StdMaxFormula.Equals("")) { MessageUtil.ShowWarning("请输入标准公式下偏差值(mm)!"); row.SetCellActive("StdMinFormula"); return; } } else { if (parm.StdMaxFormula.Equals("")) { MessageUtil.ShowWarning("请输入标准公式上偏差值(mm)!"); row.SetCellActive("StdMaxFormula"); return; } } if (!parm.StdMinFormula.Equals("") && !StringUtil.IsNumber(parm.StdMinFormula)) { if (!QcmBaseCommon.CheckToleranceFormula(parm.StdMinFormula)) { MessageUtil.ShowWarning("您输入的标准值-公式下偏差值(mm):[" + parm.StdMinFormula + "]不合法,请重新输入!"); row.SetCellActive("StdMinFormula"); return; } } if (!parm.StdMaxFormula.Equals("") && !StringUtil.IsNumber(parm.StdMaxFormula)) { if (!QcmBaseCommon.CheckToleranceFormula(parm.StdMaxFormula)) { MessageUtil.ShowWarning("您输入的标准值-公式上偏差值(mm):[" + parm.StdMaxFormula + "]不合法,请重新输入!"); row.SetCellActive("StdMaxFormula"); return; } } if (parm.StdMaxFormulaV.Equals("1") && parm.StdMinFormulaV.Equals("1")) { MessageUtil.ShowWarning("不能同时选择标准取小值和取大值!"); row.SetCellActive("StdMaxFormula"); return; } if (i > 1 && parm.StdMinFormulaV.Equals("0") && parm.StdMaxFormulaV.Equals("0")) { MessageUtil.ShowWarning("请选择标准取小值或者取大值!"); row.SetCellActive("StdMinFormulaV"); return; } if (!parm.BiasCodeC.Equals("")) { if (parm.BiasCodeC.Equals(parm.BiasCodeS) || parm.BiasCodeC.Equals(parm.BiasCodeZ)) { MessageUtil.ShowWarning("公差约束项不能相同,请重新选择!"); row.SetCellActive("BiasCodeC"); return; } } if (!parm.BiasCodeS.Equals("")) { if (parm.BiasCodeS.Equals(parm.BiasCodeC) || parm.BiasCodeS.Equals(parm.BiasCodeZ)) { MessageUtil.ShowWarning("公差约束项不能相同,请重新选择!"); row.SetCellActive("BiasCodeS"); return; } } if (!parm.BiasCodeZ.Equals("")) { if (parm.BiasCodeZ.Equals(parm.BiasCodeC) || parm.BiasCodeZ.Equals(parm.BiasCodeS)) { MessageUtil.ShowWarning("公差约束项不能相同,请重新选择!"); row.SetCellActive("BiasCodeZ"); return; } } parm.CreateName = CoreUserInfo.UserInfo.GetUserName(); parm.UpdateName = CoreUserInfo.UserInfo.GetUserName(); parm.DeleteName = CoreUserInfo.UserInfo.GetUserName(); parm.SpeclFl = "2"; parm.DesginKey = designKey; parms.Add(parm); } if (MessageUtil.ShowYesNoAndQuestion("是否确认保存?") == DialogResult.No) { return; } _designStdSicBLL.Save(parms); MessageUtil.ShowTips("保存成功!"); QueryByDesignKeySic(_parms); } public void Delete() { List parms = new List(); var rows = entityGrid1.Rows.Where(a => a.GetValue("Chk") == "True"); foreach (var row in rows) { var parm = EntityHelper.CopyEntity(row.ListObject); parm.CreateName = CoreUserInfo.UserInfo.GetUserName(); parm.UpdateName = CoreUserInfo.UserInfo.GetUserName(); parm.DeleteName = CoreUserInfo.UserInfo.GetUserName(); parm.SpeclFl = "2"; parm.DesginKey = designKey; parms.Add(parm); } if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.No) { return; } _designStdSicBLL.Delete(parms); MessageUtil.ShowTips("删除成功!"); } private void GridEdite(UltraGridRow row) { if (row.GetValue("Chk") == "True") { foreach (UltraGridCell cell in row.Cells) { if (cell.Column.CellActivation == Activation.AllowEdit) { cell.Activation = Activation.AllowEdit; } } } else { foreach (UltraGridCell cell in row.Cells) { if (cell.Column.Key == "Chk") continue; if (cell.Column.CellActivation == Activation.AllowEdit) { cell.Activation = Activation.ActivateOnly; } } } } private void entityGrid1_AfterRowInsert(object sender, RowEventArgs e) { e.Row.Cells["IsCheck"].Value = true; e.Row.Cells["StdMinFormulaV"].Value = true; e.Row.Cells["StdMaxFormulaV"].Value = false; e.Row.Cells["CraftSource"].Value = "1"; e.Row.Cells["SpeclFl"].Value = "2"; } private void ultraTextEditor1_EditorButtonClick(object sender, EditorButtonEventArgs e) { UltraGridRow row = entityGrid1.ActiveRow; string key = entityGrid1.ActiveCell.Column.Key; if (key == "MscPline") { DataTable dt = _designMscPlBLL.QueryMscPlineProcess(designKey); dt.Columns["MSC_PLINE"].Caption = "制程号"; dt.Columns["WHOLE_BACKLOG"].Caption = "全程途径码"; dt.Columns["WHOLE_BACKLOG_DESC"].Caption = "全程途径描述"; dt.Columns["PROCESS_DESC"].Caption = "工序"; dt.Columns["PROCESS_DESC_C"].Caption = "二级工序"; dt.Columns["SIC"].Caption = "公差内控索引码"; DataTable dtNew = dt.Clone(); foreach (DataRow dr in dt.Rows) { string[] sics = dr["SIC"].ToString().Split(','); foreach (string sic in sics) { DataRow drNew = dtNew.NewRow(); drNew["MSC_PLINE"] = dr["MSC_PLINE"]; drNew["WHOLE_BACKLOG"] = dr["WHOLE_BACKLOG"]; drNew["WHOLE_BACKLOG_DESC"] = dr["WHOLE_BACKLOG_DESC"]; drNew["PROCESS_DESC"] = dr["PROCESS_DESC"]; drNew["PROCESS_DESC_C"] = dr["PROCESS_DESC_C"]; drNew["PROCESS_CODE"] = dr["PROCESS_CODE"]; drNew["PROCESS_CODE_C"] = dr["PROCESS_CODE_C"]; drNew["SIC"] = sic.Trim(); dtNew.Rows.Add(drNew); } } BaseInfoPopup popup = new BaseInfoPopup(dtNew, "MSC_PLINE", "PIC", "DIC", "CIC", "WIC", "GIC", "PROCESS_CODE", "PROCESS_CODE_C"); GridHelper.RefreshAndAutoSize(popup.UltraGrid1); popup.LabelTextBox1.Caption = "制程号"; if (popup.ShowDialog() == DialogResult.OK) { row.SetValue("MscPline", popup.ChoicedRow.GetValue("MSC_PLINE")); row.SetValue("ProcessDescC", popup.ChoicedRow.GetValue("PROCESS_DESC_C")); row.SetValue("ProcessCodeC", popup.ChoicedRow.GetValue("PROCESS_CODE_C")); row.SetValue("ProcessDesc", popup.ChoicedRow.GetValue("PROCESS_DESC")); row.SetValue("ProcessCode", popup.ChoicedRow.GetValue("PROCESS_CODE")); row.SetValue("Sic", popup.ChoicedRow.GetValue("SIC")); } } else if (key == "ProcessDescC") { string mscPline = entityGrid1.ActiveRow.GetValue("MscPline"); DataTable dt = _designMscPlPrcBLL.queryProcess(designKey, mscPline); dt.Columns["PROCESS_DESC"].Caption = "工序"; dt.Columns["PROCESS_DESC_C"].Caption = "二级工序"; BaseInfoPopup popup = new BaseInfoPopup(dt, "PROCESS_DESC_C", "PROCESS_CODE", "PROCESS_CODE_C"); popup.LabelTextBox1.Caption = "二级工序"; if (popup.ShowDialog() == DialogResult.OK) { row.SetValue("ProcessDescC", popup.ChoicedRow.GetValue("PROCESS_DESC_C")); row.SetValue("ProcessCodeC", popup.ChoicedRow.GetValue("PROCESS_CODE_C")); row.SetValue("ProcessDesc", popup.ChoicedRow.GetValue("PROCESS_DESC")); row.SetValue("ProcessCode", popup.ChoicedRow.GetValue("PROCESS_CODE")); } } else if (key == "Sic") { string mscPline = entityGrid1.ActiveRow.GetValue("MscPline"); string processCode = entityGrid1.ActiveRow.GetValue("ProcessCode"); DataTable dt = _designMscPlPrcBLL.queryProcessNkIndex(designKey, mscPline, processCode); dt.Columns["SIC"].Caption = "公差内控索引码"; BaseInfoPopup popup = new BaseInfoPopup(dt, "SIC", "PIC", "CIC", "DIC", "WIC", "GIC"); popup.LabelTextBox1.Caption = "公差内控索引码"; if (popup.ShowDialog() == DialogResult.OK) { row.SetValue("Sic", popup.ChoicedRow.GetValue("SIC")); } } } } }