using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Infragistics.Win; using System.Collections; using Infragistics.Win.UltraWinGrid; namespace Core.StlMes.Client.LgCommon { public partial class ucResHmp : ucResBase { public ucResHmp() { InitializeComponent(); } public bool allowSave = true; //是否允许修改实绩 public bool allowSave1 = true; //是否允许修改实绩 public bool allowSave2 = true; //是否允许修改实绩 public bool allowSave3 = true; //是否允许修改实绩 public bool allowSave4 = true; //是否允许修改实绩 public bool allowSave5 = true; //是否允许修改实绩 public bool allowSave6 = true; //是否允许修改实绩 protected override void InitValuelist() { base.InitValuelist(); try { ValueList vlist = ClsBusinessPack.GetValuelistMolirnLeave(); ClsControlPack.SetGridValuelist(ref ultraGrid1, "MOLIRNLEAVE", ref vlist); ValueList vlist1 = ClsBusinessPack.GetValuelistIronSource(); ClsControlPack.SetGridValuelist(ref ultraGrid1, "IRONSOURCE", ref vlist1); } catch { } } public override void SetData(Hashtable ar) { base.SetData(ar); try { UltraGridRow row = ultraGrid1.Rows[0]; ClsBusinessPack.GetTimeSpanfromUI(row.Cells["ARRIVETIME"], row.Cells["LEAVETIME"], row.Cells["INSTATIONTIME"]); ClsBusinessPack.GetTimeSpanfromUI(row.Cells["DFRSTARTTIME"], row.Cells["DFRENDTIME"], row.Cells["DFRTIME"]); ClsBusinessPack.GetTimeSpanfromUI(row.Cells["DR_BEF_STARTTIME"], row.Cells["DR_BEF_ENDTIME"], row.Cells["DR_BEF_TIME"]); ClsBusinessPack.GetTimeSpanfromUI(row.Cells["DR_AFT_STARTTIME"], row.Cells["DR_AFT_ENDTIME"], row.Cells["DR_AFT_TIME"]); ClsBusinessPack.GetTimeSpanfromUI(row.Cells["SB_FIRST_STARTIME"], row.Cells["SB_FIRST_ENDTIME"], row.Cells["SB_FIRST_TIME"]); ClsBusinessPack.GetTimeSpanfromUI(row.Cells["SB_SECOND_STARTIME"], row.Cells["SB_SECOND_ENDTIME"], row.Cells["SB_SECOND_TIME"]); ClsBusinessPack.GetTimeSpanfromUI(row.Cells["SB_THIRD_STARTIME"], row.Cells["SB_THIRD_ENDTIME"], row.Cells["SB_THIRD_TIME"]); } catch { } } protected override void ultraGrid1_AfterCellUpdate(object sender, CellEventArgs e) { base.ultraGrid1_AfterCellUpdate(sender, e); try { if (!e.Cell.Column.Hidden && e.Cell.Column.CellActivation == Activation.AllowEdit) { string strKey = e.Cell.Column.Key.ToUpper(); UltraGridRow row = e.Cell.Row; if (strKey.Equals("ARRIVETIME") || strKey.Equals("LEAVETIME")) { if ((DateTime)ultraGrid1.ActiveRow.Cells["ARRIVETIME"].Value > (DateTime)ultraGrid1.ActiveRow.Cells["LEAVETIME"].Value) { e.Cell.Appearance.BackColor = Color.Red; MessageBox.Show("出站时间不能早于入站时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); allowSave = false; return; } else { if (ultraGrid1.ActiveRow.Cells["ARRIVETIME"].Appearance.BackColor == Color.Red) { ultraGrid1.ActiveRow.Cells["ARRIVETIME"].Appearance.BackColor = Color.Orange; } if (ultraGrid1.ActiveRow.Cells["LEAVETIME"].Appearance.BackColor == Color.Red) { ultraGrid1.ActiveRow.Cells["LEAVETIME"].Appearance.BackColor = Color.Orange; } allowSave = true; } ClsBusinessPack.GetTimeSpanfromUI(row.Cells["ARRIVETIME"], row.Cells["LEAVETIME"], row.Cells["INSTATIONTIME"]); } else if (strKey.Equals("DFRSTARTTIME") || strKey.Equals("DFRENDTIME")) { if ((DateTime)ultraGrid1.ActiveRow.Cells["DFRSTARTTIME"].Value > (DateTime)ultraGrid1.ActiveRow.Cells["DFRENDTIME"].Value) { e.Cell.Appearance.BackColor = Color.Red; MessageBox.Show("脱硫结束时间不能早于脱硫结束时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); allowSave1 = false; return; } else { if (ultraGrid1.ActiveRow.Cells["DFRSTARTTIME"].Appearance.BackColor == Color.Red) { ultraGrid1.ActiveRow.Cells["DFRSTARTTIME"].Appearance.BackColor = Color.Orange; } if (ultraGrid1.ActiveRow.Cells["DFRENDTIME"].Appearance.BackColor == Color.Red) { ultraGrid1.ActiveRow.Cells["DFRENDTIME"].Appearance.BackColor = Color.Orange; } allowSave1 = true; } ClsBusinessPack.GetTimeSpanfromUI(row.Cells["DFRSTARTTIME"], row.Cells["DFRENDTIME"], row.Cells["DFRTIME"]); } else if (strKey.Equals("DR_BEF_STARTTIME") || strKey.Equals("DR_BEF_ENDTIME")) { if ((DateTime)ultraGrid1.ActiveRow.Cells["DR_BEF_STARTTIME"].Value > (DateTime)ultraGrid1.ActiveRow.Cells["DR_BEF_ENDTIME"].Value) { e.Cell.Appearance.BackColor = Color.Red; MessageBox.Show("扒前渣结束时间不能早于扒前渣开始时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); allowSave2 = false; return; } else { if (ultraGrid1.ActiveRow.Cells["DR_BEF_STARTTIME"].Appearance.BackColor == Color.Red) { ultraGrid1.ActiveRow.Cells["DR_BEF_STARTTIME"].Appearance.BackColor = Color.Orange; } if (ultraGrid1.ActiveRow.Cells["DR_BEF_ENDTIME"].Appearance.BackColor == Color.Red) { ultraGrid1.ActiveRow.Cells["DR_BEF_ENDTIME"].Appearance.BackColor = Color.Orange; } allowSave2 = true; } ClsBusinessPack.GetTimeSpanfromUI(row.Cells["DR_BEF_STARTTIME"], row.Cells["DR_BEF_ENDTIME"], row.Cells["DR_BEF_TIME"]); } else if (strKey.Equals("DR_AFT_STARTTIME") || strKey.Equals("DR_AFT_ENDTIME")) { if ((DateTime)ultraGrid1.ActiveRow.Cells["DR_AFT_STARTTIME"].Value > (DateTime)ultraGrid1.ActiveRow.Cells["DR_AFT_ENDTIME"].Value) { e.Cell.Appearance.BackColor = Color.Red; MessageBox.Show("扒后渣结束时间不能早于扒后渣开始时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); allowSave3 = false; return; } else { if (ultraGrid1.ActiveRow.Cells["DR_AFT_STARTTIME"].Appearance.BackColor == Color.Red) { ultraGrid1.ActiveRow.Cells["DR_AFT_STARTTIME"].Appearance.BackColor = Color.Orange; } if (ultraGrid1.ActiveRow.Cells["DR_AFT_ENDTIME"].Appearance.BackColor == Color.Red) { ultraGrid1.ActiveRow.Cells["DR_AFT_ENDTIME"].Appearance.BackColor = Color.Orange; } allowSave3 = true; } ClsBusinessPack.GetTimeSpanfromUI(row.Cells["DR_AFT_STARTTIME"], row.Cells["DR_AFT_ENDTIME"], row.Cells["DR_AFT_TIME"]); } else if (strKey.Equals("SB_FIRST_STARTIME") || strKey.Equals("SB_FIRST_ENDTIME")) { if ((DateTime)ultraGrid1.ActiveRow.Cells["SB_FIRST_STARTIME"].Value > (DateTime)ultraGrid1.ActiveRow.Cells["SB_FIRST_ENDTIME"].Value) { e.Cell.Appearance.BackColor = Color.Red; MessageBox.Show("第一次搅拌结束时间不能早于第一次搅拌开始时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); allowSave4 = false; return; } else { if (ultraGrid1.ActiveRow.Cells["SB_FIRST_STARTIME"].Appearance.BackColor == Color.Red) { ultraGrid1.ActiveRow.Cells["SB_FIRST_STARTIME"].Appearance.BackColor = Color.Orange; } if (ultraGrid1.ActiveRow.Cells["SB_FIRST_ENDTIME"].Appearance.BackColor == Color.Red) { ultraGrid1.ActiveRow.Cells["SB_FIRST_ENDTIME"].Appearance.BackColor = Color.Orange; } allowSave4 = true; } ClsBusinessPack.GetTimeSpanfromUI(row.Cells["SB_FIRST_STARTIME"], row.Cells["SB_FIRST_ENDTIME"], row.Cells["SB_FIRST_TIME"]); } else if (strKey.Equals("SB_SECOND_STARTIME") || strKey.Equals("SB_SECOND_ENDTIME")) { if ((DateTime)ultraGrid1.ActiveRow.Cells["SB_SECOND_STARTIME"].Value > (DateTime)ultraGrid1.ActiveRow.Cells["SB_SECOND_ENDTIME"].Value) { e.Cell.Appearance.BackColor = Color.Red; MessageBox.Show("第二次搅拌结束时间不能早于第二次搅拌开始时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); allowSave5 = false; return; } else { if (ultraGrid1.ActiveRow.Cells["SB_SECOND_STARTIME"].Appearance.BackColor == Color.Red) { ultraGrid1.ActiveRow.Cells["SB_SECOND_STARTIME"].Appearance.BackColor = Color.Orange; } if (ultraGrid1.ActiveRow.Cells["SB_SECOND_ENDTIME"].Appearance.BackColor == Color.Red) { ultraGrid1.ActiveRow.Cells["SB_SECOND_ENDTIME"].Appearance.BackColor = Color.Orange; } allowSave5 = true; } ClsBusinessPack.GetTimeSpanfromUI(row.Cells["SB_SECOND_STARTIME"], row.Cells["SB_SECOND_ENDTIME"], row.Cells["SB_SECOND_TIME"]); } else if (strKey.Equals("SB_THIRD_STARTIME") || strKey.Equals("SB_THIRD_ENDTIME")) { if ((DateTime)ultraGrid1.ActiveRow.Cells["SB_THIRD_STARTIME"].Value > (DateTime)ultraGrid1.ActiveRow.Cells["SB_THIRD_ENDTIME"].Value) { e.Cell.Appearance.BackColor = Color.Red; MessageBox.Show("第三次搅拌结束时间不能早于第三次搅拌开始时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); allowSave6 = false; return; } else { if (ultraGrid1.ActiveRow.Cells["SB_THIRD_STARTIME"].Appearance.BackColor == Color.Red) { ultraGrid1.ActiveRow.Cells["SB_THIRD_STARTIME"].Appearance.BackColor = Color.Orange; } if (ultraGrid1.ActiveRow.Cells["SB_THIRD_ENDTIME"].Appearance.BackColor == Color.Red) { ultraGrid1.ActiveRow.Cells["SB_THIRD_ENDTIME"].Appearance.BackColor = Color.Orange; } allowSave6 = true; } ClsBusinessPack.GetTimeSpanfromUI(row.Cells["SB_THIRD_STARTIME"], row.Cells["SB_THIRD_ENDTIME"], row.Cells["SB_THIRD_TIME"]); } } } catch { } } protected override void ultraGrid1_CellChange(object sender, CellEventArgs e) { base.ultraGrid1_CellChange(sender, e); try { if (!e.Cell.Column.Hidden && e.Cell.Column.CellActivation == Activation.AllowEdit) { string strKey = e.Cell.Column.Key.ToUpper(); UltraGridRow row = e.Cell.Row; if (strKey.Equals("ARRIVEWGT") || strKey.Equals("LEAVEWGT")) ClsBusinessPack.GetNetWeightfromUI(row.Cells["LEAVEWGT"], row.Cells["ARRIVEWGT"], row.Cells["NETWGT"]); } } catch { } } private void ultraGrid1_KeyPress(object sender, KeyPressEventArgs e) { string strKey = this.ultraGrid1.ActiveCell.Column.ToString(); if (strKey == "IRONWGT" || strKey == "ARRIVEWGT" || strKey == "LEAVEWGT" || strKey == "SWFTEMPERATURE" || strKey == "SWBTEMPERATURE" || strKey == "IRONPOTTAREWGT" || strKey == "IRONPOTBOFWGT" || strKey == "SGGAGE" || strKey == "MR_USER_TIMES" || strKey == "RSWGT" || strKey == "DR_BEF_WGT" || strKey == "DREGSSOLVENT" || strKey == "DFRWGT" || strKey == "MIX_REALITY_HEIGHT") { if (!(e.KeyChar == '\b') && ultraGrid1.ActiveRow.Cells[strKey].Value.ToString().Length >= 6) { e.Handled = true; } if (!(Char.IsNumber(e.KeyChar) || e.KeyChar == '\b' || e.KeyChar == '.')) { e.Handled = true; } if (e.KeyChar == '.') { char[] arrary = ultraGrid1.ActiveRow.Cells[strKey].Text.ToCharArray(); if (arrary.Length == 0) { ultraGrid1.ActiveRow.Cells[strKey].Value = "0."; ultraGrid1.ActiveRow.Cells[strKey].SelStart = ultraGrid1.ActiveRow.Cells[strKey].Value.ToString().Length; e.Handled = true; } else { for (int i = 0; i < arrary.Length; i++) { if (arrary[i] == '.') e.Handled = true; } } } } if (strKey == "MEMO") { if (!(e.KeyChar == '\b') && ultraGrid1.ActiveRow.Cells[strKey].Value.ToString().Length >= 25) { e.Handled = true; } } } protected override void ultraGrid1_ClickCellButton(object sender, CellEventArgs e) { base.ultraGrid1_ClickCellButton(sender, e); try { string strKey = e.Cell.Column.Key.ToUpper(); if (e.Cell.Column.DataType != typeof(DateTime)) { frmInputDecimal frm = new frmInputDecimal(Convert.ToString(e.Cell.Text)); frm.Location = ClsControlPack.GetChildWindowLocation(frm.Size); if (frm.ShowDialog() == DialogResult.OK) { if (!frm.ValueChanged) return; e.Cell.Value = frm.Value; ultraGrid1.UpdateData(); } } } catch { } } } }