using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using CoreFS.CA06; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Linq; using System.Windows.Forms; namespace Core.StlMes.Client.Qcm { public partial class FrmMSCCraft : FrmBase { public UltraGridRow row; ArrayList parms = new ArrayList(); //界面上的数据 ArrayList parms1 = new ArrayList(); //激活的一行的冶金规范码,产线号,全程顺序号,工序点代码,工艺参数主项代码。 private string msc = "YJGF01"; //冶金规范码 public string Msc { get { return msc; } set { msc = value; } } private string pline = "10"; //产线号 public string Pline { get { return pline; } set { pline = value; } } private string processCode = ""; public FrmMSCCraft() { InitializeComponent(); this.IsLoadUserView = true; } public void PopupLoad(string msc, string mscPline, string processCode, OpeBase ob) { this.msc = msc; this.pline = mscPline; this.processCode = processCode; this.ob = ob; this.OnLoad(EventArgs.Empty); } private void FrmMSCCraft_Load(object sender, EventArgs e) { InitStation(); initJGDropDown(this.ultraComboEditor1, "com.steering.pss.qcm.MSCCraft.GetJGSpec", "SPEC_CODE"); initJGDropDown(this.ultraComboEditor2, "com.steering.pss.qcm.MSCCraft.GetParam", "CRAFT_CODE"); } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": this.InitStation(); break; case "Save": this.doSave(); break; case "Delete": this.doDelete(); break; case "Close": ((Form)this.splitContainer1.TopLevelControl).Close(); break; } } private string _stationCode = ""; private string _craftItemCode = ""; private void InitStation() { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.MSCCraft.InitStation", new object[] { msc, pline, processCode }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true); if (dt != null && dt.Rows.Count > 0) { if (_stationCode != "") { UltraGridRow[] rows = ultraGrid1.Rows.AsQueryable().Where("STATION_CODE = '" + _stationCode + "'") .Where("CRAFTITEM_CODE = '" + _craftItemCode + "'").ToArray(); if (rows.Length > 0) { rows[0].Activate(); } else { ultraGrid1.Rows[0].Activate(); } _stationCode = ""; _craftItemCode = ""; } else { ultraGrid1.Rows[0].Activate(); } } } private void initJGDropDown(UltraComboEditor uce, string MethodId, string memberValue) { //初始化编辑区域下拉框 DataTable dt = ServerHelper.GetData(MethodId, null, this.ob); DataRow dr = dt.NewRow(); object[] obj = { "", "" }; dr.ItemArray = obj; dt.Rows.InsertAt(dr, 0); if (dt != null && dt.Rows.Count > 0) { uce.DataSource = dt; uce.ValueMember = memberValue; } ClsBaseInfo.SetComboItemHeight(uce); } private void ultraGrid2_ClickCellButton(object sender, CellEventArgs e) { } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { parms1 = new ArrayList(); UltraGridRow ugr = this.ultraGrid1.ActiveRow; string parm_code = ugr.Cells["CRAFTITEM_CODE"].Value.ToString(); string parm_desc = ugr.Cells["CRAFTITEM_DESC"].Value.ToString(); int allow_count = Convert.ToInt32(ugr.Cells["ALLOW_COUNT"].Value.ToString().Trim()); ArrayList list = new ArrayList(); list.Add(msc); list.Add(pline); list.Add(ugr.GetValue("BACKLOG_SEQ")); list.Add(ugr.GetValue("PROCESS_CODE")); list.Add(ugr.GetValue("PROCESS_DESC")); list.Add(ugr.GetValue("PROCESS_CODE_C")); list.Add(ugr.GetValue("PROCESS_DESC_C")); list.Add(ugr.GetValue("STATION_CODE")); list.Add(ugr.GetValue("STATION_DESC")); list.Add(parm_code); list.Add(parm_desc); list.Add(allow_count); SetGrid(list); } public void SetGrid(ArrayList list) {//list 冶金规范码,产线号,全程顺序号,工序代码,工序名称,二级工序代码,二级工序名称,工序点代码, //工序点名称,工艺参数主项代码,工艺参数主项名称,单条维护顺序号(共12个) parms1.Add(list[0]); parms1.Add(list[1]); parms1.Add(list[2]); parms1.Add(list[7]); parms1.Add(list[9]); int allow_count = Convert.ToInt32(list[11]); DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.MSCCraft.doQuery", new Object[] { parms1 }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable2, true); int i = dt.Rows.Count; allow_count -= i; for (int j = 0; j < allow_count; j++) { UltraGridRow row = this.ultraGrid2.DisplayLayout.Bands[0].AddNew(); row.Cells["CHK"].Value = false; row.Cells["MSC"].Value = list[0]; row.Cells["MSC_PLINE"].Value = list[1]; row.Cells["BACKLOG_SEQ"].Value = list[2]; row.Cells["PROCESS_CDOE"].Value = list[3]; row.Cells["PROCESS_DESC"].Value = list[4]; row.Cells["PROCESS_CDOE_C"].Value = list[5]; row.Cells["PROCESS_DESC_C"].Value = list[6]; row.Cells["STATION_CODE"].Value = list[7]; row.Cells["STATION_DESC"].Value = list[8]; row.Cells["CRAFTITEM_CDOE"].Value = list[9]; row.Cells["CRAFTITEM_DESC"].Value = list[10]; row.Update(); } //初始化时的控制 for (int k = 0; k < ultraGrid2.Rows.Count; k++) { if (!Convert.ToBoolean(ultraGrid2.Rows[k].Cells["CHK"].Value)) { for (int j = 1; j < ultraGrid2.Rows[k].Cells.Count; j++) { ultraGrid2.Rows[k].Cells[j].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } } else { for (int j = 1; j < ultraGrid2.Rows[k].Cells.Count; j++) { ultraGrid2.Rows[k].Cells["MIN_VALUE"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; ultraGrid2.Rows[k].Cells["MAX_VALUE"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; if (ultraGrid2.Rows[k].Cells["SPEC_JG_DESC"].Value.ToString() != "") { ultraGrid2.Rows[k].Cells["MIN_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; ultraGrid2.Rows[k].Cells["MAX_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; ultraGrid2.Rows[k].Cells["MIN_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; ultraGrid2.Rows[k].Cells["MAX_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } else { ultraGrid2.Rows[k].Cells["MIN_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; ultraGrid2.Rows[k].Cells["MAX_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; ultraGrid2.Rows[k].Cells["MIN_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; ultraGrid2.Rows[k].Cells["MAX_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } if (ultraGrid2.Rows[k].Cells["MIN_D"].Value.ToString() != "" || ultraGrid2.Rows[k].Cells["MAX_D"].Value.ToString() != "" || ultraGrid2.Rows[k].Cells["MIN_H"].Value.ToString() != "" || ultraGrid2.Rows[k].Cells["MAX_H"].Value.ToString() != "") { ultraGrid2.Rows[k].Cells["SPEC_JG_DESC"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } else { ultraGrid2.Rows[k].Cells["SPEC_JG_DESC"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } } } } ultraGrid1.UpdateData(); } private int GetGrid() { int id = 0; double min = 0; double max = 0; parms = new ArrayList(); foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in ultraGrid2.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Value)) { id += 1; ArrayList parm = new ArrayList(); if (row.Cells["MIN_VALUE"].Value.ToString().Trim() != "") { if (StringUtil.IsNumber(row.Cells["MIN_VALUE"].Value.ToString())) { min = Convert.ToDouble(row.Cells["MIN_VALUE"].Value.ToString()); if (row.Cells["MAX_VALUE"].Value.ToString().Trim() == "") { MessageUtil.ShowWarning("请输入工艺参数标准值最大(主项)"); row.Cells["MAX_VALUE"].Activate(); return -1; } else { if (StringUtil.IsNumber(row.Cells["MAX_VALUE"].Value.ToString())) { max = Convert.ToDouble(row.Cells["MAX_VALUE"].Value.ToString()); } else { MessageUtil.ShowWarning("标准值最大(主项)请输入数字"); row.Cells["MAX_VALUE"].Activate(); return -1; } if (min > max) { MessageUtil.ShowWarning("您输入的标准值最小(主项)不能大于标准值最大(主项)"); row.Cells["MIN_VALUE"].Activate(); return -1; } } } } else { MessageUtil.ShowWarning("请输入工艺参数主项的标准值最小"); row.Cells["MIN_VALUE"].Activate(); return -1; } if (row.Cells["MIN_VALUE1"].Value.ToString().Trim() != "") { if (StringUtil.IsNumber(row.Cells["MIN_VALUE1"].Value.ToString())) { min = Convert.ToDouble(row.Cells["MIN_VALUE1"].Value.ToString()); if (row.Cells["MAX_VALUE1"].Value.ToString().Trim() == "") { MessageUtil.ShowWarning("请输入工艺参数标准值最大(从项1)"); row.Cells["MAX_VALUE1"].Activate(); return -1; } else { if (StringUtil.IsNumber(row.Cells["MAX_VALUE1"].Value.ToString())) { max = Convert.ToDouble(row.Cells["MAX_VALUE1"].Value.ToString()); } else { MessageUtil.ShowWarning("标准值最大(从项1)请输入数字"); return -1; } if (min > max) { MessageUtil.ShowWarning("您输入的标准值最小(从项1)不能大于标准值最大(从项1)"); row.Cells["MAX_VALUE1"].Activate(); return -1; } } } } else if (row.Cells["CRAFTITEM_DESC1"].Value.ToString().Trim() != "") { MessageUtil.ShowWarning("请输入工艺参数(从项1)标准值最小"); row.Cells["MIN_VALUE1"].Activate(); return -1; } if (row.Cells["MIN_VALUE2"].Value.ToString().Trim() != "") { if (StringUtil.IsNumber(row.Cells["MIN_VALUE2"].Value.ToString())) { min = Convert.ToDouble(row.Cells["MIN_VALUE2"].Value.ToString()); if (row.Cells["MAX_VALUE2"].Value.ToString().Trim() == "") { MessageUtil.ShowWarning("请输入工艺参数标准值最大(从项2)"); row.Cells["MAX_VALUE2"].Activate(); return -1; } else { if (StringUtil.IsNumber(row.Cells["MAX_VALUE2"].Value.ToString())) { max = Convert.ToDouble(row.Cells["MAX_VALUE2"].Value.ToString()); } else { MessageUtil.ShowWarning("标准值最大(从项2)请输入数字"); row.Cells["MAX_VALUE2"].Activate(); return -1; } if (min > max) { MessageUtil.ShowWarning("您输入的标准值最小(从项2)不能大于标准值最大(从项2)"); row.Cells["MIN_VALUE2"].Activate(); return -1; } } } } else if (row.Cells["CRAFTITEM_DESC2"].Value.ToString().Trim() != "") { MessageUtil.ShowWarning("请输入工艺参数(从项2)标准值最小"); row.Cells["MIN_VALUE2"].Activate(); return -1; } if (row.GetValue("CRAFTITEM_DESC1") == "" && row.GetValue("CRAFTITEM_DESC2") != "") { MessageUtil.ShowWarning("请依次录入工艺参数(从项)!"); row.Cells["CRAFTITEM_DESC1"].Activate(); return -1; } if (row.Cells["MIN_VALUE3"].Value.ToString().Trim() != "") { if (StringUtil.IsNumber(row.Cells["MIN_VALUE3"].Value.ToString())) { min = Convert.ToDouble(row.Cells["MIN_VALUE3"].Value.ToString()); if (row.Cells["MAX_VALUE3"].Value.ToString().Trim() == "") { MessageUtil.ShowWarning("请输入工艺参数标准值最大(主项)"); row.Cells["MAX_VALUE3"].Activate(); return -1; } else { if (StringUtil.IsNumber(row.Cells["MAX_VALUE3"].Value.ToString())) { max = Convert.ToDouble(row.Cells["MAX_VALUE3"].Value.ToString()); } else { MessageUtil.ShowWarning("标准值最大(从项3)请输入数字"); row.Cells["MAX_VALUE3"].Activate(); return -1; } if (min > max) { MessageUtil.ShowWarning("您输入的标准值最小(从项3)不能大于标准值最大(从项3)"); row.Cells["MIN_VALUE3"].Activate(); return -1; } } } } else if (row.Cells["CRAFTITEM_DESC3"].Value.ToString().Trim() != "") { MessageUtil.ShowWarning("请输入工艺参数(从项3)标准值最小"); row.Cells["MIN_VALUE3"].Activate(); return -1; } if (row.GetValue("CRAFTITEM_DESC2") == "" && row.GetValue("CRAFTITEM_DESC3") != "") { MessageUtil.ShowWarning("请依次录入工艺参数(从项)!"); row.Cells["CRAFTITEM_DESC2"].Activate(); return -1; } if (row.Cells["MIN_VALUE4"].Value.ToString().Trim() != "") { if (StringUtil.IsNumber(row.Cells["MIN_VALUE4"].Value.ToString())) { min = Convert.ToDouble(row.Cells["MIN_VALUE4"].Value.ToString()); if (row.Cells["MAX_VALUE4"].Value.ToString().Trim() == "") { MessageUtil.ShowWarning("请输入工艺参数标准值最大(主项)"); row.Cells["MAX_VALUE4"].Activate(); return -1; } else { if (StringUtil.IsNumber(row.Cells["MAX_VALUE4"].Value.ToString())) { max = Convert.ToDouble(row.Cells["MAX_VALUE4"].Value.ToString()); } else { MessageUtil.ShowWarning("标准值最大(从项4)请输入数字"); row.Cells["MAX_VALUE4"].Activate(); return -1; } if (min > max) { MessageUtil.ShowWarning("您输入的标准值最小(从项4)不能大于标准值最大(从项4)"); row.Cells["MIN_VALUE4"].Activate(); return -1; } } } } else if (row.Cells["CRAFTITEM_DESC4"].Value.ToString().Trim() != "") { MessageUtil.ShowWarning("请输入工艺参数(从项4)标准值最小"); row.Activate(); return -1; } if (row.GetValue("CRAFTITEM_DESC3") == "" && row.GetValue("CRAFTITEM_DESC4") != "") { MessageUtil.ShowWarning("请依次录入工艺参数(从项)!"); row.Cells["CRAFTITEM_DESC3"].Activate(); return -1; } List parmlist = new List(); //存入4个从项描述 if (row.Cells["CRAFTITEM_DESC1"].Value.ToString().Trim() != "") { parmlist.Add(row.Cells["CRAFTITEM_DESC1"].Value.ToString().Trim()); } if (row.Cells["CRAFTITEM_DESC2"].Value.ToString().Trim() != "") { parmlist.Add(row.Cells["CRAFTITEM_DESC2"].Value.ToString().Trim()); } if (row.Cells["CRAFTITEM_DESC3"].Value.ToString().Trim() != "") { parmlist.Add(row.Cells["CRAFTITEM_DESC3"].Value.ToString().Trim()); } if (row.Cells["CRAFTITEM_DESC4"].Value.ToString().Trim() != "") { parmlist.Add(row.Cells["CRAFTITEM_DESC4"].Value.ToString().Trim()); } List parmlist1 = parmlist.Distinct().ToList(); //去除相同的项。 if (parmlist1.Count < parmlist.Count) { MessageUtil.ShowWarning("工艺参数名称(从项1,从项2,从项3,从项4)不能相同"); row.Activate(); return -1; } if (row.Cells["MIN_D"].Value.ToString().Trim() != "") { min = Convert.ToDouble(row.Cells["MIN_D"].Value.ToString().Trim()); if (row.Cells["MAX_D"].Value.ToString().Trim() != "") { max = Convert.ToDouble(row.Cells["MAX_D"].Value.ToString().Trim()); if (max < min) { MessageUtil.ShowWarning("您输入的外径最小值不能大于最大值"); row.Activate(); return -1; } } } if (row.Cells["MIN_H"].Value.ToString().Trim() != "") { min = Convert.ToDouble(row.Cells["MIN_H"].Value.ToString().Trim()); if (row.Cells["MAX_H"].Value.ToString().Trim() != "") { max = Convert.ToDouble(row.Cells["MAX_H"].Value.ToString().Trim()); if (max < min) { MessageUtil.ShowWarning("您输入的壁厚最小值不能大于最大值"); row.Activate(); return -1; } } } parm.Add(row.Cells["MSC"].Value.ToString().Trim()); parm.Add(row.Cells["MSC_PLINE"].Value.ToString().Trim()); parm.Add(row.Cells["BACKLOG_SEQ"].Value.ToString().Trim()); parm.Add(row.Cells["PROCESS_CDOE"].Value.ToString().Trim()); parm.Add(row.Cells["PROCESS_DESC"].Value.ToString().Trim()); parm.Add(row.Cells["PROCESS_CDOE_C"].Value.ToString().Trim()); parm.Add(row.Cells["PROCESS_DESC_C"].Value.ToString().Trim()); parm.Add(row.Cells["STATION_CODE"].Value.ToString().Trim()); parm.Add(row.Cells["STATION_DESC"].Value.ToString().Trim()); parm.Add(row.Cells["MIN_D"].Value.ToString().Trim()); parm.Add(row.Cells["MAX_D"].Value.ToString().Trim()); parm.Add(row.Cells["MIN_H"].Value.ToString().Trim()); parm.Add(row.Cells["MAX_H"].Value.ToString().Trim()); parm.Add(row.Cells["MODEL_CODE"].Value.ToString().Trim()); parm.Add(row.Cells["MODEL_DESC"].Value.ToString().Trim()); parm.Add(row.Cells["SPEC_JG"].Value.ToString().Trim()); parm.Add(row.Cells["SPEC_JG_DESC"].Value.ToString().Trim()); parm.Add(row.Cells["CRAFTITEM_CDOE"].Value.ToString().Trim()); parm.Add(row.Cells["CRAFTITEM_DESC"].Value.ToString().Trim()); parm.Add(id); parm.Add(row.Cells["MIN_VALUE"].Value.ToString().Trim()); parm.Add(row.Cells["MAX_VALUE"].Value.ToString().Trim()); parm.Add(row.Cells["CRAFTITEM_CDOE1"].Value.ToString().Trim()); parm.Add(row.Cells["CRAFTITEM_DESC1"].Text); parm.Add(row.Cells["MIN_VALUE1"].Value.ToString().Trim()); parm.Add(row.Cells["MAX_VALUE1"].Value.ToString().Trim()); parm.Add(row.Cells["CRAFTITEM_CDOE2"].Value.ToString().Trim()); parm.Add(row.Cells["CRAFTITEM_DESC2"].Text); parm.Add(row.Cells["MIN_VALUE2"].Value.ToString().Trim()); parm.Add(row.Cells["MAX_VALUE2"].Value.ToString().Trim()); parm.Add(row.Cells["CRAFTITEM_CDOE3"].Value.ToString().Trim()); parm.Add(row.Cells["CRAFTITEM_DESC3"].Text); parm.Add(row.Cells["MIN_VALUE3"].Value.ToString().Trim()); parm.Add(row.Cells["MAX_VALUE3"].Value.ToString().Trim()); parm.Add(row.Cells["CRAFTITEM_CDOE4"].Value.ToString().Trim()); parm.Add(row.Cells["CRAFTITEM_DESC4"].Text); parm.Add(row.Cells["MIN_VALUE4"].Value.ToString().Trim()); parm.Add(row.Cells["MAX_VALUE4"].Value.ToString().Trim()); parm.Add(this.UserInfo.GetUserName()); //操作人 parm.Add(row.Cells["MEMO"].Value.ToString().Trim()); parm.Add(row.Cells["GRADE_SEQ"].Value.ToString().Trim()); parms.Add(parm); } } return 0; } private void doSave() { UltraGridRow ugr = this.ultraGrid1.ActiveRow; if (GetGrid() == 0) { if (MessageBox.Show("是否确定保存修改?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); //CoreClientParam是平台用来向服务端传递存放所有相关参数信息的。 ccp.ServerName = "com.steering.pss.qcm.MSCCraft"; //服务名指的是服务端的包名+类名 ccp.MethodName = "doSave"; //方法名指的是服务名指定类里的方法 ccp.ServerParams = new object[] { parms, parms1 };//服务端方法的参数 ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; MessageBox.Show("保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); _stationCode = ugr.GetValue("STATION_CODE"); _craftItemCode = ugr.GetValue("CRAFTITEM_CODE"); InitStation(); } } private void doDelete() { UltraGridRow ugr = this.ultraGrid1.ActiveRow; if (ugr == null) return; if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == System.Windows.Forms.DialogResult.OK) { return; } CoreClientParam ccp = new CoreClientParam(); //CoreClientParam是平台用来向服务端传递存放所有相关参数信息的。 ccp.ServerName = "com.steering.pss.qcm.MSCCraft"; //服务名指的是服务端的包名+类名 ccp.MethodName = "doDelete"; //方法名指的是服务名指定类里的方法 ccp.ServerParams = new object[] { parms1 };//服务端方法的参数 ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; MessageBox.Show("删除成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); _stationCode = ugr.GetValue("STATION_CODE"); _craftItemCode = ugr.GetValue("CRAFTITEM_CODE"); InitStation(); } private void ultraGrid2_CellChange(object sender, CellEventArgs e) { this.ultraGrid2.UpdateData(); if (e.Cell.Column.Key.Equals("CHK")) { if (Convert.ToBoolean(e.Cell.Value)) { for (int j = 1; j < e.Cell.Row.Cells.Count; j++) { if ((j > 7) && (j < 39) && j != 19 || j == 41) { e.Cell.Row.Cells[j].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } } e.Cell.Row.Cells["CRAFTITEM_DESC"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; e.Cell.Row.Cells["MEMO"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } else { for (int j = 1; j < e.Cell.Row.Cells.Count; j++) { e.Cell.Row.Cells[j].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } } } if (e.Cell.Column.Key == "CRAFTITEM_DESC") { if (e.Cell.Value.ToString() == "") { e.Cell.Row.SetValue("MIN_VALUE", ""); e.Cell.Row.SetValue("MAX_VALUE", ""); } } else if (e.Cell.Column.Key == "CRAFTITEM_DESC1") { if (e.Cell.Value.ToString() == "") { e.Cell.Row.SetValue("MIN_VALUE1", ""); e.Cell.Row.SetValue("MAX_VALUE1", ""); } } else if (e.Cell.Column.Key == "CRAFTITEM_DESC2") { if (e.Cell.Value.ToString() == "") { e.Cell.Row.SetValue("MIN_VALUE2", ""); e.Cell.Row.SetValue("MAX_VALUE2", ""); } } else if (e.Cell.Column.Key == "CRAFTITEM_DESC3") { if (e.Cell.Value.ToString() == "") { e.Cell.Row.SetValue("MIN_VALUE3", ""); e.Cell.Row.SetValue("MAX_VALUE3", ""); } } else if (e.Cell.Column.Key == "CRAFTITEM_DESC4") { if (e.Cell.Value.ToString() == "") { e.Cell.Row.SetValue("MIN_VALUE4", ""); e.Cell.Row.SetValue("MAX_VALUE4", ""); } } if (Convert.ToBoolean(e.Cell.Row.Cells["CHK"].Value)) { if (String.IsNullOrEmpty(e.Cell.Row.Cells["CRAFTITEM_DESC1"].Value.ToString())) { e.Cell.Row.Cells["MIN_VALUE1"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; e.Cell.Row.Cells["MAX_VALUE1"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } else { e.Cell.Row.Cells["MIN_VALUE1"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; e.Cell.Row.Cells["MAX_VALUE1"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } if (String.IsNullOrEmpty(e.Cell.Row.Cells["CRAFTITEM_DESC2"].Value.ToString())) { e.Cell.Row.Cells["MIN_VALUE2"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; e.Cell.Row.Cells["MAX_VALUE2"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } else { e.Cell.Row.Cells["MIN_VALUE2"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; e.Cell.Row.Cells["MAX_VALUE2"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } if (String.IsNullOrEmpty(e.Cell.Row.Cells["CRAFTITEM_DESC3"].Value.ToString())) { e.Cell.Row.Cells["MIN_VALUE3"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; e.Cell.Row.Cells["MAX_VALUE3"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } else { e.Cell.Row.Cells["MIN_VALUE3"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; e.Cell.Row.Cells["MAX_VALUE3"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } if (String.IsNullOrEmpty(e.Cell.Row.Cells["CRAFTITEM_DESC4"].Value.ToString())) { e.Cell.Row.Cells["MIN_VALUE4"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; e.Cell.Row.Cells["MAX_VALUE4"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } else { e.Cell.Row.Cells["MIN_VALUE4"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; e.Cell.Row.Cells["MAX_VALUE4"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } if (!StringUtil.IsNumber(e.Cell.Row.Cells["MIN_VALUE"].Value.ToString())) { e.Cell.Row.Cells["MAX_VALUE"].Value = ""; e.Cell.Row.Cells["MAX_VALUE"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } else { e.Cell.Row.Cells["MAX_VALUE"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } //if (!StringUtil.IsNumber(e.Cell.Row.Cells["MIN_VALUE1"].Value.ToString())) //{ // e.Cell.Row.Cells["MAX_VALUE1"].Value = ""; // e.Cell.Row.Cells["MAX_VALUE1"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit; //} //else //{ // e.Cell.Row.Cells["MAX_VALUE1"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; //} //if (!StringUtil.IsNumber(e.Cell.Row.Cells["MIN_VALUE2"].Value.ToString())) //{ // e.Cell.Row.Cells["MAX_VALUE2"].Value = ""; // e.Cell.Row.Cells["MAX_VALUE2"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit; //} //else //{ // e.Cell.Row.Cells["MAX_VALUE2"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; //} //if (!StringUtil.IsNumber(e.Cell.Row.Cells["MIN_VALUE3"].Value.ToString())) //{ // e.Cell.Row.Cells["MAX_VALUE3"].Value = ""; // e.Cell.Row.Cells["MAX_VALUE3"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit; //} //else //{ // e.Cell.Row.Cells["MAX_VALUE3"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; //} //if (!StringUtil.IsNumber(e.Cell.Row.Cells["MIN_VALUE4"].Value.ToString())) //{ // e.Cell.Row.Cells["MAX_VALUE4"].Value = ""; // e.Cell.Row.Cells["MAX_VALUE4"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit; //} //else //{ // e.Cell.Row.Cells["MAX_VALUE4"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; //} if (e.Cell.Row.Cells["MIN_D"].Value.ToString() != "" || e.Cell.Row.Cells["MAX_D"].Value.ToString() != "" || e.Cell.Row.Cells["MIN_H"].Value.ToString() != "" || e.Cell.Row.Cells["MAX_H"].Value.ToString() != "") { e.Cell.Row.Cells["SPEC_JG_DESC"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } else { e.Cell.Row.Cells["SPEC_JG_DESC"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } if (e.Cell.Row.Cells["SPEC_JG_DESC"].Value.ToString() != "") { e.Cell.Row.Cells["MIN_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit; e.Cell.Row.Cells["MAX_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit; e.Cell.Row.Cells["MIN_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit; e.Cell.Row.Cells["MAX_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit; } else { e.Cell.Row.Cells["MIN_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; e.Cell.Row.Cells["MAX_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; e.Cell.Row.Cells["MIN_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; e.Cell.Row.Cells["MAX_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } } } private void ultraGrid2_AfterCellUpdate(object sender, CellEventArgs e) { UltraGridRow ugr = this.ultraGrid2.ActiveRow; if (e.Cell.Column.Key.Equals("CRAFTITEM_DESC1")) { if (ugr.Cells["CRAFTITEM_DESC1"].Value.ToString() != "") { this.ultraComboEditor2.Text = ugr.Cells["CRAFTITEM_DESC1"].Text.ToString(); ugr.Cells["CRAFTITEM_CDOE1"].Value = this.ultraComboEditor2.Value.ToString(); } } if (e.Cell.Column.Key.Equals("CRAFTITEM_DESC2")) { if (ugr.Cells["CRAFTITEM_DESC2"].Value.ToString() != "") { this.ultraComboEditor2.Text = ugr.Cells["CRAFTITEM_DESC2"].Text.ToString(); ugr.Cells["CRAFTITEM_CDOE2"].Value = this.ultraComboEditor2.Value.ToString(); } } if (e.Cell.Column.Key.Equals("CRAFTITEM_DESC3")) { if (ugr.Cells["CRAFTITEM_DESC3"].Value.ToString() != "") { this.ultraComboEditor2.Text = ugr.Cells["CRAFTITEM_DESC3"].Text.ToString(); ugr.Cells["CRAFTITEM_CDOE3"].Value = this.ultraComboEditor2.Value.ToString(); } } if (e.Cell.Column.Key.Equals("CRAFTITEM_DESC4")) { if (ugr.Cells["CRAFTITEM_DESC4"].Value.ToString() != "") { this.ultraComboEditor2.Text = ugr.Cells["CRAFTITEM_DESC4"].Text.ToString(); ugr.Cells["CRAFTITEM_CDOE4"].Value = this.ultraComboEditor2.Value.ToString(); } } if (e.Cell.Column.Key.Equals("SPEC_JG_DESC")) { if (ugr.Cells["SPEC_JG_DESC"].Value.ToString() != "") { this.ultraComboEditor1.Text = ugr.Cells["SPEC_JG_DESC"].Text.ToString(); ugr.Cells["SPEC_JG"].Value = this.ultraComboEditor1.Value.ToString(); } } } private void ultraTextEditor1_EditorButtonClick(object sender, EditorButtonEventArgs e) { UltraGridRow ugr = this.ultraGrid2.ActiveRow; if (ultraGrid2.ActiveCell.Column.Key == "MODEL_DESC" && Convert.ToBoolean(ugr.Cells["CHK"].Value)) { //这一按钮列被点击,同时被点击的这一行被勾选了。 this.row = this.ultraGrid2.ActiveRow; FrmModel fm = new FrmModel(); fm.FrmOb = this.ob; //ob对象 fm.Desc = row.Cells["MODEL_DESC"].Value.ToString(); fm.ShowDialog(); row.Cells["MODEL_CODE"].Value = fm.Code; row.Cells["MODEL_DESC"].Value = fm.Desc; } else if (ultraGrid2.ActiveCell.Column.Key == "GRADE_SEQ" && Convert.ToBoolean(ugr.Cells["CHK"].Value)) { string gradeNames = ultraGrid2.ActiveCell.Value.ToString(); FrmGradeChoice gradeChoice = new FrmGradeChoice(gradeNames, ob); if (gradeChoice.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ultraGrid2.ActiveCell.Value = gradeChoice.GradeNames; } } } } }