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 FrmMscCastRForg : FrmBase { private string _specCode = ""; public string SpecCode { get { return _specCode; } set { _specCode = value; } } public FrmMscCastRForg() { InitializeComponent(); } public void PopupLoad(string customInfo, OpeBase ob) { this.CustomInfo = customInfo; this.ob = ob; this.OnLoad(EventArgs.Empty); } int isSelect = 0; public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": DoQuery(); break; case "Save": DoSave(); break; case "Close": this.Close(); break; } } private void SetGridNoEdit(UltraGrid ug) { 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].Activation = Activation.ActivateOnly; } } } private void FrmMscCastRForg_Load(object sender, EventArgs e) { GetSpec(); } private void GetSpec() { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreMscCastRForg.getSpec", new object[] { _specCode }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true); isSelect = 0; } private void GetSpecB(string speccode) { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreMscCastRForg.getSpecB", new Object[] { speccode }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true); SetGridNoEdit(ultraGrid2); } private void GetSpecD(string speccode) { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreMscCastRForg.getSpecD", new Object[] { speccode }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable3, true); SetGridNoEdit(ultraGrid3); } private void DoQuery() { GetSpec(); } private void DoSave() { ultraGrid2.UpdateData(); ultraGrid3.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 speccode = ugr1.Cells["SPEC_CODE"].Value.ToString(); foreach (UltraGridRow row in ultraGrid2.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Value)) { ArrayList parm = new ArrayList(); parm.Add(speccode + row.Cells["SPEC_CODE"].Value.ToString()); parm.Add(speccode); parm.Add(ugr1.Cells["SPEC_NAME"].Value.ToString()); parm.Add(" "); parm.Add(" "); parm.Add(row.Cells["SPEC_CODE"].Value.ToString()); parm.Add(row.Cells["SPEC_NAME"].Value.ToString()); parm.Add(this.UserInfo.GetUserName()); list.Add(parm); } } foreach (UltraGridRow row in ultraGrid3.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Value)) { ArrayList parm = new ArrayList(); parm.Add(speccode + row.Cells["SPEC_CODE"].Value.ToString()); parm.Add(speccode); parm.Add(ugr1.Cells["SPEC_NAME"].Value.ToString()); parm.Add(row.Cells["SPEC_CODE"].Value.ToString()); parm.Add(row.Cells["SPEC_NAME"].Value.ToString()); parm.Add(" "); parm.Add(" "); parm.Add(this.UserInfo.GetUserName()); list.Add(parm); } } int count = ServerHelper.SetData("com.steering.pss.qcm.CoreMscCastRForg.doSave", new Object[] { speccode, list }, this.ob); if (count > 0) { MessageBox.Show("保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); DoQuery(); foreach (UltraGridRow ugr in ultraGrid1.Rows) { if (ugr.Cells["SPEC_CODE"].Value.ToString().Equals(speccode)) { ugr.Activate(); break; } } } } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugr = ultraGrid1.ActiveRow; if (ugr == null) return; string speccode = ugr.Cells["SPEC_CODE"].Value.ToString(); GetSpecB(speccode); GetSpecD(speccode); } private void ultraGrid2_CellChange(object sender, CellEventArgs e) { ultraGrid2.UpdateData(); isSelect += 1; } private void ultraGrid3_CellChange(object sender, CellEventArgs e) { ultraGrid3.UpdateData(); isSelect += 1; } } }