using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Data; using System.Windows.Forms; namespace Core.StlMes.Client.Qcm { public partial class FrmComBaseProcessRStation : FrmBase { public FrmComBaseProcessRStation() { InitializeComponent(); } int isselect = 0; public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": InitGrid1(); break; case "Save": DoSave(); break; case "Close": this.Close(); break; } } private void InitGrid1() { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreComBaseProcessRStation.queryProcess", null, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true); isselect = 0; } private void SetGridNoEdit(UltraGrid ug) { ug.UpdateData(); foreach (UltraGridRow row in ug.Rows) { for (int i = 0; i < row.Cells.Count; i++) { if (!row.Cells[i].Column.Key.Equals("CHK") && !row.Cells[i].Column.Key.Equals("MEMO")) row.Cells[i].Activation = Activation.ActivateOnly; } } } private void FrmComBaseProcessRStation_Load(object sender, EventArgs e) { InitGrid1(); } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugr = ultraGrid1.ActiveRow; if (ugr == null) return; string processcode = ugr.Cells["PROCESS_CDOE"].Value.ToString(); //工序代码 string processcodec = ugr.Cells["PROCESS_CDOE_C"].Value.ToString(); //二级工序代码 QueryStation(processcode, processcodec); } private void QueryStation(string code, string codec) { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreComBaseProcessRStation.queryStation", new Object[] { code, codec }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true); SetGridNoEdit(ultraGrid2); } private void DoSave() { ultraGrid2.UpdateData(); if (isselect == 0) { MessageBox.Show("您没有做任何的修改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (MessageBox.Show("是否确认保存修改?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } UltraGridRow ugr1 = this.ultraGrid1.ActiveRow; ArrayList list = new ArrayList(); string processcode = ugr1.Cells["PROCESS_CDOE"].Value.ToString(); string processcodec = ugr1.Cells["PROCESS_CDOE_C"].Value.ToString(); foreach (UltraGridRow row in ultraGrid2.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Value)) { ArrayList parm = new ArrayList(); string choose = ""; if (row.Cells["CHOOSE"].Value.ToString().ToUpper() == "TRUE") choose = "1"; else choose = "0"; string returnresult = ""; if (row.Cells["RETURN_RESULT"].Value.ToString().ToUpper() == "TRUE") returnresult = "1"; else returnresult = "0"; string sendplan = ""; if (row.Cells["SEND_CHECKPLAN"].Value.ToString().ToUpper() == "TRUE") sendplan = "1"; else sendplan = "0"; parm.Add(row.Cells["STATION_CODE"].Value.ToString()); parm.Add(row.Cells["STATION_DESC"].Value.ToString()); parm.Add(row.Cells["STATION_TYPE"].Value.ToString()); parm.Add(row.Cells["STATION_ID"].Value.ToString()); parm.Add(processcode); parm.Add(ugr1.Cells["PROCESS_DESC"].Value.ToString()); parm.Add(processcodec); parm.Add(ugr1.Cells["PROCESS_DESC_C"].Value.ToString()); parm.Add(row.Cells["COST"].Value.ToString()); parm.Add(choose); parm.Add(returnresult); parm.Add(sendplan); parm.Add(row.Cells["MONITOR_LV"].Value.ToString()); parm.Add(row.Cells["MONITOR_LV2"].Value.ToString()); parm.Add(this.UserInfo.GetUserName()); parm.Add(row.Cells["MEMO"].Value.ToString()); list.Add(parm); } } int count = ServerHelper.SetData("com.steering.pss.qcm.CoreComBaseProcessRStation.doSave", new Object[] { list, processcode, processcodec }, this.ob); if (count > 0) { MessageBox.Show("保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); InitGrid1(); foreach (UltraGridRow ugr in ultraGrid1.Rows) { if (ugr.Cells["PROCESS_CDOE"].Value.ToString().Equals(processcode)) { ugr.Activate(); break; } } } } private void ultraGrid2_CellChange(object sender, CellEventArgs e) { ultraGrid2.UpdateData(); if (e.Cell.Column.Key.Equals("CHK")) isselect += 1; } } }