using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Collections; using Core.Mes.Client.Common; using CoreFS.CA06; using Infragistics.Win; namespace Core.LgMes.Client.LgIntegrationQuery { public partial class frmCraftStandard : Core.Mes.Client.Common.frmStyleBase { string err = ""; Infragistics.Win.UltraWinGrid.UltraGridRow uGridRow; public string GYLSItems = ""; public frmCraftStandard() { InitializeComponent(); } private void frmCraftStandard_Load(object sender, EventArgs e) { Init(); initializeData(); } void Init() { try { string strErr = ""; //全部牌号 ArrayList arrySteel = new ArrayList(); arrySteel.Add("GetZLSteel.Query"); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = this.ob; DataSet dsSteel = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arrySteel, out strErr); //DataSet dsSteel = (DataSet)ClientCommon._RemotingHelp.ExecuteMethod("LGZL", "Core.XgMes.Server.Zlgl.Lg.CraftStandard", "getSteel", new object[] { }, out err); if (strErr == "") { Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeSteel_Q, dsSteel); Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeSteel, dsSteel); } //取内控标准号 ArrayList arryStd = new ArrayList(); arryStd.Add("GetShapeCode.Query"); DataSet dsStd = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arryStd, out strErr); if (strErr == "") { Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeStd_Q, dsStd); Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeStd, dsStd); Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeSTD_DC, dsStd); } //查询工艺参数 ArrayList arryItems = new ArrayList(); arryItems.Add("GetItems.Query"); DataSet dsItems = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arryItems, out strErr); if (strErr == "") { Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeItems, dsItems); } ulgridItem.DisplayLayout.Bands[0].Columns["ITEM1"].ValueList = proc_ValueListSteel(dsItems.Tables[0]); doQuery(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } void doQuery() { try { string strWhere = "", strErr=""; string[] sArgs = new string[3]; if (chbxStd.Checked && ulcmeStd_Q.Text != "") sArgs[0] = ulcmeStd_Q.Value.ToString(); else sArgs[0] = ""; if (chbxSteel.Checked && ulcmeSteel_Q.Text != "") sArgs[1] = ulcmeSteel_Q.Value.ToString(); else sArgs[1] = ""; if (chbxCraft.Checked && txtCraftCode_Q.Text.Trim() != "") sArgs[2] = txtCraftCode_Q.Text.Trim(); else sArgs[2] = ""; if (sArgs[0] != "") strWhere += " and STANDARD = '" + sArgs[0] + "' "; if (sArgs[1] != "") strWhere += " and STEELCODE = '" + sArgs[1] + "' "; if (sArgs[2] != "") strWhere += " and CRAFTCODE like '" + sArgs[2] + "%' "; //取作业标准数据 ArrayList arry = new ArrayList(); ArrayList sqlList = new ArrayList(); arry.Add("GetCraftStdData.Query"); sqlList.Add(strWhere); CoreClientParam CCP_Main = new CoreClientParam(); DataTable dt = new DataTable(); CCP_Main.ServerName = "Core.LgMes.Server.Common.ComDBQuery"; CCP_Main.MethodName = "doQuery"; CCP_Main.ServerParams = new object[] { arry, sqlList }; CCP_Main.SourceDataTable = dt; this.ExecuteQueryToDataTable(CCP_Main, CoreInvokeType.Internal); DataSet dsMain = new DataSet(); dsMain.Tables.Add(dt); //获取工艺参数项最大值、最小值 ArrayList arryIV = new ArrayList(); ArrayList sqlListIv = new ArrayList(); arryIV.Add("GetItemValue.Query"); sqlListIv.Add(strWhere); CoreClientParam CCP_LgEts = new CoreClientParam(); DataTable dtMain = new DataTable(); CCP_LgEts.ServerName = "Core.LgMes.Server.Common.ComDBQuery"; CCP_LgEts.MethodName = "doQuery"; CCP_LgEts.ServerParams = new object[] { arryIV, sqlListIv }; CCP_LgEts.SourceDataTable = dtMain; this.ExecuteQueryToDataTable(CCP_LgEts, CoreInvokeType.Internal); DataSet ds = new DataSet(); ds.Tables.Add(dtMain); dsMain.Tables[0].TableName = "dtmain"; ds.Tables[0].TableName = "dtChild"; dsMain.Tables.Add(ds.Tables[0].Copy()); dsMain.Relations.Add("Band 1", dsMain.Tables[0].Columns["CRAFTCODE"], dsMain.Tables[1].Columns["CRAFTCODE"],false); if (strErr == "") { ulGridMain.DataSource = dsMain; } else MessageBox.Show(err, "提示"); } catch (Exception ex) { MessageBox.Show(ex.Message); } } void doAdd() { string strErr = ""; if (ulcmeSteel.Text == "") { MessageBox.Show("请选择牌号!"); ulcmeSteel.Focus(); return; } if (ulcmeSteel.Value.ToString() == "") { MessageBox.Show("请选择牌号!"); ulcmeSteel.Focus(); return; } //if (ulcmeStd.Value.ToString() == "") //{ // MessageBox.Show("请选择标准号!"); // ulcmeStd.Focus(); // return; //} if (txtCraftName.Text.Trim() == "") { MessageBox.Show("请输入工艺说明!"); txtCraftName.Focus(); return; } string strSqlID = "CraftStandard_Add"; string[] sArgs = new string[5]; sArgs[0] = txtCraftName.Text.Trim(); sArgs[1] = ulcmeStd.Value.ToString(); sArgs[2] = ulcmeSteel.Value.ToString(); sArgs[3] = (chbxValid.Checked) ? "1" : "0"; sArgs[4] = this.UserInfo.GetUserName(); Hashtable hashtb = new Hashtable(); hashtb.Add("I1", sArgs[0]); hashtb.Add("I2", sArgs[1]); hashtb.Add("I3", sArgs[2]); hashtb.Add("I4", sArgs[3]); hashtb.Add("I5", sArgs[4]); hashtb.Add("O1", ""); hashtb.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog", "BaseDataManage", strSqlID, hashtb, out strErr); //string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure", // "ExecProcWithCollParam", strSqlID, sArgs, out strErr); if (strErr=="") activeMainRow(strErr); else MessageBox.Show(strErr); } void doCopyAdd() { string strErr = ""; try { Infragistics.Win.UltraWinGrid.UltraGridRow row = this.ulGridMain.ActiveRow; if (row != null) { if (row.ParentRow != null) row = row.ParentRow; string strSqlID = "CraftStandard_CopyAdd"; string[] sArgs = new string[2]; sArgs[0] = row.Cells["CRAFTCODE"].Text; sArgs[1] = this.UserInfo.GetUserName(); Hashtable hashtb = new Hashtable(); hashtb.Add("I1", sArgs[0]); hashtb.Add("I2", sArgs[1]); hashtb.Add("O1", ""); hashtb.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog", "BaseDataManage", strSqlID, hashtb, out strErr); //CommonClientToServer ccTs = new CommonClientToServer(); //ccTs.ob = ob; //string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure", // "ExecProcWithCollParam", strSqlID, sArgs, out strErr); //object obj = ClientCommon._RemotingHelp.ExecuteMethod("LGBZ", "Core.XgMes.Server.Zlgl.Lg.CraftStandard", "doCopyAdd", new object[] { sArgs }, out err); if (strErr =="") activeMainRow(err); else MessageBox.Show(err); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } void doEdit() { string strErr = ""; Infragistics.Win.UltraWinGrid.UltraGridRow row = this.ulGridMain.ActiveRow; Infragistics.Win.UltraWinGrid.UltraGridRow pRow = row.ParentRow; Infragistics.Win.UltraWinGrid.UltraGridRow arow; if (pRow != null) arow = pRow; else arow = row; if (arow != null) { if (ulcmeSteel.Text.ToString() == "") { MessageBox.Show("请选择牌号!"); ulcmeSteel.Focus(); return; } //if (ulcmeStd.Text.ToString() == "") //{ // MessageBox.Show("请选择标准号!"); // ulcmeStd.Focus(); // return; //} //if (txtCraftName.Text.Trim() == "") //{ // MessageBox.Show("请输入工艺说明!"); // txtCraftName.Focus(); // return; //} string strSqlID = "CraftStandard_Edit"; string[] sArgs = new string[6]; sArgs[0] = arow.Cells["CRAFTCODE"].Text; sArgs[1] = txtCraftName.Text.Trim(); sArgs[2] = ulcmeStd.Value.ToString(); sArgs[3] = ulcmeSteel.Value.ToString(); sArgs[4] = (chbxValid.Checked) ? "1" : "0"; sArgs[5] = this.UserInfo.GetUserName(); Hashtable hashtb = new Hashtable(); hashtb.Add("I1", sArgs[0]); hashtb.Add("I2", sArgs[1]); hashtb.Add("I3", sArgs[2]); hashtb.Add("I4", sArgs[3]); hashtb.Add("I5", sArgs[4]); hashtb.Add("I6", sArgs[5]); hashtb.Add("O1", ""); hashtb.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog", "BaseDataManage", strSqlID, hashtb, out strErr); //string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure", // "ExecProcWithCollParam", strSqlID, sArgs, out strErr); //object obj = ClientCommon._RemotingHelp.ExecuteMethod("LGBZ", "Core.XgMes.Server.Zlgl.Lg.CraftStandard", "doEdit", new object[] { sArgs }, out err); if (strErr =="") activeMainRow(err); else MessageBox.Show(err); } } void doDelete() { string strErr = ""; Infragistics.Win.UltraWinGrid.UltraGridRow arow = this.ulGridMain.ActiveRow; if (arow != null) { if (MessageBox.Show("删除操作将会删除本工艺码及其下的所有工序、工艺参数设置信息!\n\n您确定继续删除操作吗?", "提示选择", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { string strSqlID = "CraftStandard_Del"; string[] sArgs = new string[2]; sArgs[0] = arow.Cells["CRAFTCODE"].Text; sArgs[1] = this.UserInfo.GetUserName(); Hashtable hashtb = new Hashtable(); hashtb.Add("I1", sArgs[0]); hashtb.Add("I2", sArgs[1]); hashtb.Add("O1", ""); hashtb.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog", "BaseDataManage", strSqlID, hashtb, out strErr); if (strErr =="") { ulGridMain.ActiveRow.Delete(false); ((DataSet)ulGridMain.DataSource).Tables[0].AcceptChanges(); } else { MessageBox.Show(err); } } } } void doUpdate() { try { if (this.ulGridMain.ActiveRow != null) { if (ulgridProcess.ActiveRow != null) { string strProcess = ulgridProcess.ActiveRow.Cells["PROCESSID"].Value.ToString(); string sItem = ""; ulgridItem.UpdateData(); if (SaveItemChange(out sItem)) { activeMainRow(ulGridMain.ActiveRow.Cells["CRAFTCODE"].Text); for (int j = 0; j < ulgridProcess.Rows.Count; j++) { if (ulgridProcess.Rows[j].Cells["PROCESSID"].Text == strProcess) { if (!ulgridProcess.Rows[j].Activated) { ulgridProcess.ActiveRow = ulgridProcess.Rows[j]; ulgridProcess.Rows[j].Selected = true; } break; } } } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } bool SaveItemChange(out string sAnchorItemCode) { DataTable dtChanged = ((DataSet)ulgridItem.DataSource).Tables[0].GetChanges(); ArrayList arylstItem1 = new ArrayList(); ArrayList arylstItem1Min = new ArrayList(); ArrayList arylstItem1Max = new ArrayList(); ArrayList arylstItem2 = new ArrayList(); ArrayList arylstItem2Min = new ArrayList(); ArrayList arylstItem2Max = new ArrayList(); ArrayList arylstItem3 = new ArrayList(); ArrayList arylstItem3Min = new ArrayList(); ArrayList arylstItem3Max = new ArrayList(); ArrayList arylstXH = new ArrayList(); if (dtChanged != null) { if (dtChanged.Rows.Count == 0) { sAnchorItemCode = ""; return false; } for (int i = 0; i < dtChanged.Rows.Count; i++) { if (dtChanged.Rows[i]["CRAFTITEMCODE2"].ToString() != "" || dtChanged.Rows[i]["CRAFTITEMCODE3"].ToString() != "") { if (dtChanged.Rows[i]["ITEMMINVALUE1"].ToString() == "" && dtChanged.Rows[i]["ITEMMAXVALUE1"].ToString() == "") { sAnchorItemCode = dtChanged.Rows[i]["CRAFTITEMCODE1"].ToString(); MessageBox.Show("请输入参数项1的有效范围!"); return false; } if (dtChanged.Rows[i]["CRAFTITEMCODE2"].ToString() != "") { if (dtChanged.Rows[i]["ITEMMINVALUE2"].ToString() == "" || dtChanged.Rows[i]["ITEMMAXVALUE2"].ToString() == "") { sAnchorItemCode = dtChanged.Rows[i]["CRAFTITEMCODE1"].ToString(); MessageBox.Show("请输入参数项2的有效范围!"); return false; } else { if (double.Parse(dtChanged.Rows[i]["ITEMMINVALUE2"].ToString()) > double.Parse(dtChanged.Rows[i]["ITEMMAXVALUE2"].ToString())) { sAnchorItemCode = dtChanged.Rows[i]["CRAFTITEMCODE1"].ToString(); MessageBox.Show("请输入参数项2的有效范围!"); return false; } } } if (dtChanged.Rows[i]["CRAFTITEMCODE3"].ToString() != "") { if (dtChanged.Rows[i]["ITEMMINVALUE3"].ToString() == "" || dtChanged.Rows[i]["ITEMMAXVALUE3"].ToString() == "") { sAnchorItemCode = dtChanged.Rows[i]["CRAFTITEMCODE1"].ToString(); MessageBox.Show("请输入参数项3的有效范围!"); return false; } else { if (double.Parse(dtChanged.Rows[i]["ITEMMINVALUE3"].ToString()) > double.Parse(dtChanged.Rows[i]["ITEMMAXVALUE3"].ToString())) { sAnchorItemCode = dtChanged.Rows[i]["CRAFTITEMCODE1"].ToString(); MessageBox.Show("请输入参数项3的有效范围!"); return false; } } } } else if ((dtChanged.Rows[i]["ITEMMINVALUE1"].ToString() == "" && dtChanged.Rows[i]["ITEMMAXVALUE1"].ToString() != "")) { sAnchorItemCode = dtChanged.Rows[i]["ITEM1"].ToString(); MessageBox.Show("请输入参数项1的有效范围!"); return false; } else if (dtChanged.Rows[i]["ITEMMINVALUE1"].ToString() != "" && dtChanged.Rows[i]["ITEMMAXVALUE1"].ToString() != "") { if (Globals.IsDouble(dtChanged.Rows[i]["ITEMMINVALUE1"].ToString())) { if (double.Parse(dtChanged.Rows[i]["ITEMMINVALUE1"].ToString()) > double.Parse(dtChanged.Rows[i]["ITEMMAXVALUE1"].ToString())) { sAnchorItemCode = dtChanged.Rows[i]["CRAFTITEMCODE1"].ToString(); MessageBox.Show("请输入参数项1的有效范围!"); return false; } } else { sAnchorItemCode = dtChanged.Rows[i]["CRAFTITEMCODE1"].ToString(); MessageBox.Show("请输入参数项1的有效范围!", "提示"); return false; } } arylstItem1.Add(dtChanged.Rows[i]["item1"].ToString()); arylstItem1Min.Add((dtChanged.Rows[i]["ITEMMINVALUE1"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["ITEMMINVALUE1"].ToString() : "Empty")); arylstItem1Max.Add((dtChanged.Rows[i]["ITEMMAXVALUE1"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["ITEMMAXVALUE1"].ToString() : "Empty")); arylstItem2.Add((dtChanged.Rows[i]["CRAFTITEMCODE2"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["CRAFTITEMCODE2"].ToString() : "Empty")); arylstItem2Min.Add((dtChanged.Rows[i]["ITEMMINVALUE2"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["ITEMMINVALUE2"].ToString() : "Empty")); arylstItem2Max.Add((dtChanged.Rows[i]["ITEMMAXVALUE2"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["ITEMMAXVALUE2"].ToString() : "Empty")); arylstItem3.Add((dtChanged.Rows[i]["CRAFTITEMCODE3"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["CRAFTITEMCODE3"].ToString() : "Empty")); arylstItem3Min.Add((dtChanged.Rows[i]["ITEMMINVALUE3"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["ITEMMINVALUE3"].ToString() : "Empty")); arylstItem3Max.Add((dtChanged.Rows[i]["ITEMMAXVALUE3"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["ITEMMAXVALUE3"].ToString() : "Empty")); arylstXH.Add((dtChanged.Rows[i]["XH"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["XH"].ToString() : "Empty")); } } else { sAnchorItemCode = ""; return false; } string strErr = ""; string strSqlID = "CraftStandard_Update"; object[] sArgs = new object[13]; sArgs[0] = this.ulGridMain.ActiveRow.Cells["CRAFTCODE"].Text; sArgs[1] = this.ulgridProcess.ActiveRow.Cells["PROCESSID"].Text; sArgs[2] = arylstItem1; sArgs[3] = arylstItem1Min; sArgs[4] = arylstItem1Max; sArgs[5] = arylstItem2; sArgs[6] = arylstItem2Min; sArgs[7] = arylstItem2Max; sArgs[8] = arylstItem3; sArgs[9] = arylstItem3Min; sArgs[10] = arylstItem3Max; sArgs[11] = this.UserInfo.GetUserName(); sArgs[12] = arylstXH; Hashtable hashtb = new Hashtable(); hashtb.Add("I1", sArgs[0]); hashtb.Add("I2", sArgs[1]); hashtb.Add("I3", sArgs[2]); hashtb.Add("I4", sArgs[3]); hashtb.Add("I5", sArgs[4]); hashtb.Add("I6", sArgs[5]); hashtb.Add("I7", sArgs[6]); hashtb.Add("I8", sArgs[7]); hashtb.Add("I9", sArgs[8]); hashtb.Add("I10", sArgs[9]); hashtb.Add("I11", sArgs[10]); hashtb.Add("I12", sArgs[11]); hashtb.Add("I13", sArgs[12]); hashtb.Add("O1", ""); hashtb.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure", "ExecProcWithCollParam", strSqlID, sArgs, out strErr); if (strErr == "") { sAnchorItemCode = ""; ((DataSet)ulgridItem.DataSource).Tables[0].AcceptChanges(); return true; } else { sAnchorItemCode = ""; MessageBox.Show(err); return false; } } void activeMainRow(string sReMSG) { try { doQuery(); for (int i = 0; i < ulGridMain.Rows.Count; i++) { if (ulGridMain.Rows[i].Cells["CRAFTCODE"].Text == sReMSG) { if (!ulGridMain.Rows[i].Activated) { ulGridMain.Rows[i].Activated = true; ulGridMain.Rows[i].Selected = true; } break; } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } void getProcess(string sCraftCode) { try { string strErr = ""; //查询工艺参数 ArrayList arry = new ArrayList(); arry.Add("GetZYProcess.Query"); arry.Add(sCraftCode); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = this.ob; DataSet dsProcess = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (strErr == "") ulgridProcess.DataSource = dsProcess; else MessageBox.Show(err, "提示"); } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void chbxStd_CheckedChanged(object sender, EventArgs e) { ulcmeStd_Q.Enabled = chbxStd.Checked; } private void chbxSteel_CheckedChanged(object sender, EventArgs e) { ulcmeSteel_Q.Enabled = chbxSteel.Checked; } private void chbxCraft_CheckedChanged(object sender, EventArgs e) { txtCraftCode_Q.Enabled = chbxCraft.Checked; } private void ulGridMain_AfterRowActivate(object sender, EventArgs e) { if (uGridRow != null && uGridRow.IsExpanded) uGridRow.CollapseAll(); Infragistics.Win.UltraWinGrid.UltraGridRow ulRow = ulGridMain.ActiveRow; if (ulRow.ParentRow != null) ulRow = ulGridMain.ActiveRow.ParentRow; uGridRow = ulRow; uGridRow.ExpandAll(); txtCraftCode.Text = ulRow.Cells["CRAFTCODE"].Value.ToString(); ulcmeStd.Value = ulRow.Cells["STANDARD"].Value.ToString(); ulcmeSteel.Value = ulRow.Cells["STEELCODE"].Value.ToString(); txtCraftName.Text = ulRow.Cells["CRAFTNAME"].Value.ToString(); chbxValid.Checked = (ulRow.Cells["VALIDFLAG"].Value.ToString().ToUpper() == "TRUE" ? true : false); getProcess(ulGridMain.ActiveRow.Cells["CRAFTCODE"].Value.ToString()); } private void ulgridProcess_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e) { if (e.Row.Cells["ISHAVE"].Value.ToString() == "0") e.Row.Appearance.BackColor = Color.Empty; else e.Row.Appearance.BackColor = Color.MistyRose; } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": doQuery(); break; case "Add": doAdd(); break; case "Edit": doEdit(); break; case "CopyAdd": doCopyAdd(); break; case "Update": doUpdate(); break; case "Delete": doDelete(); break; case "Refresh": ulcmeSteel_Q.Items.Clear(); ulcmeSteel.Items.Clear(); ulcmeStd_Q.Items.Clear(); ulcmeStd.Items.Clear(); ulcmeItems.Items.Clear(); ulcmeSTD_DC.Items.Clear(); Init(); break; case "Exit": this.Close(); break; } } //工艺参数列表绑定 private void ulgridProcess_AfterRowActivate(object sender, EventArgs e) { if (ulGridMain.ActiveRow == null) return; if (ulgridProcess.ActiveRow == null) return; string[] sArgs = new string[2]; sArgs[0] = ulGridMain.ActiveRow.Cells["CRAFTCODE"].Value.ToString(); sArgs[1] = ulgridProcess.ActiveRow.Cells["PROCESSID"].Value.ToString(); string strErr = ""; //查询工艺参数 ArrayList arry = new ArrayList(); arry.Add("GetCraftItems.Query"); arry.Add(sArgs[0]); arry.Add(sArgs[1]); arry.Add(sArgs[1]); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = this.ob; DataSet dsItems = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (strErr == "") { string sItem = ""; int iRowCount = dsItems.Tables[0].Rows.Count; if (dsItems.Tables[0].Rows.Count > 0) { ulgridItem.DataSource = dsItems.Tables[0]; sItem = dsItems.Tables[0].Rows[0]["ITEM1"].ToString(); } else { DataSet dsgrid = (DataSet)ulgridItem.DataSource; dsgrid.Tables[0].Rows.Clear(); ulgridItem.DataSource = dsgrid; ulgridItem.DataBind(); } for (int i = 0; i < iRowCount; i++) { int iNum = Int32.Parse(dsItems.Tables[0].Rows[i]["ID_NUM"].ToString() == "" ? "1" : dsItems.Tables[0].Rows[i]["ID_NUM"].ToString()); if (iNum > 1) { if (i > 0 && sItem == dsItems.Tables[0].Rows[i]["ITEM1"].ToString()) continue; sItem = dsItems.Tables[0].Rows[i]["ITEM1"].ToString(); int iLength = dsItems.Tables[0].Select("ITEM1='" + dsItems.Tables[0].Rows[i]["ITEM1"].ToString() + "'").GetLength(0); for (int j = 0; j < iNum - iLength; j++) { DataRow dr = dsItems.Tables[0].NewRow(); dr["craftitemname"] = dsItems.Tables[0].Rows[i]["craftitemname"].ToString(); dr["ITEM1"] = dsItems.Tables[0].Rows[i]["ITEM1"].ToString(); dsItems.Tables[0].Rows.Add(dr); } } } if (dsItems.Tables[0].Rows.Count > 0) { DataView dv = dsItems.Tables[0].DefaultView; dv.Sort = "ITEM1 asc"; DataSet ds = new DataSet(); ds.Tables.Add(dv.ToTable().Copy()); ulgridItem.DataSource = ds; } } else MessageBox.Show(err, "提示"); } /// /// 数据为空时显示列头 /// private void initializeData() { ultraDataSource4.Rows.Add(new object[] { "", null, null, "", null, null, "", null, null, "", null, null, "", null}); } private void ulgridItem_DoubleClickCell(object sender, Infragistics.Win.UltraWinGrid.DoubleClickCellEventArgs e) { if (e.Cell.Column.Key == "ITEMMINVALUE1" && e.Cell.Row.Cells["ITEM1"].Value.ToString().Trim() == "LG0101002") { frmGYLS fml = new frmGYLS(ob); //if (fml.DialogResult == DialogResult.OK) //{ fml.ShowDialog(); GYLSItems = fml.gyls; e.Cell.Row.Cells["ITEMMINVALUE1"].Value = GYLSItems; //} //ulGrid.UpdateData(); } } private ValueList proc_ValueListSteel(DataTable tb) { ValueList vlist = new ValueList(); try { if (tb != null) { for (int i = 0; i < tb.Rows.Count; i++) vlist.ValueListItems.Add(Convert.ToString(tb.Rows[i][0]), Convert.ToString(tb.Rows[i][1])); } } catch { } return vlist; } private void ulcmeStd_Q_ValueChanged(object sender, EventArgs e) { //string strErr = ""; ////查询工艺参数 //ArrayList arry = new ArrayList(); //arry.Add("PYZJM.Query"); //arry.Add(this.ulcmeStd_Q.Text.ToUpper()); //CommonClientToServer cctos = new CommonClientToServer(); //cctos.ob = this.ob; //DataSet dsItems = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", // "doSimpleQuery", arry, out strErr); ////取内控标准号 //ArrayList arryStd = new ArrayList(); //arryStd.Add("ShapePYZJM.Query"); //arryStd.Add(this.ulcmeStd_Q.Text.ToUpper()); //DataSet dsStd = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", // "doSimpleQuery", arryStd, out strErr); //if (strErr == "") //{ // Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeStd_Q, dsStd); //} } } }