using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using Core.Mes.Client.Comm.Control; using com.steering.mes.mcp.entity; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Tool; using Infragistics.Win; using Core.Mes.Client.Comm.Server; using CoreFS.CA06; namespace Core.StlMes.Client.Mcp.Control { public partial class PhosphateContro : UserControl { private OpeBase ob; public OpeBase Ob { get { return ob; } set { ob = value; } } private Infragistics.Win.UltraWinGrid.UltraGrid _grid = null; /// /// Grid编辑区 /// public Infragistics.Win.UltraWinGrid.UltraGrid Grid { get { return _grid; } } public PhosphateContro() { InitializeComponent(); GridHelper.InitCardGrid(this.ultraDataSource1, this.ultraGrid1); _grid = this.ultraGrid1; } /// /// 接箍磷化检测实绩 /// private PhosphateResult _result = new PhosphateResult(); public PhosphateResult Value { get { return _result; } set { if(value != null) { _result = value; UpdateData(); } } } /// /// 更新数据 /// public void UpdateData() { if(_result != null) { ultraDataSource1.Rows[0]["MembranceThick"] = _result.MembranceThick;//膜厚 ultraDataSource1.Rows[0]["Adhesion"] = _result.Adhesion;//附着力 ultraDataSource1.Rows[0]["InspectShift"] = _result.ColShft;//班次 ultraDataSource1.Rows[0]["InspectGroup"] = _result.ColGroup;//班组 ultraDataSource1.Rows[0]["InspectOperator"] = _result.ColUser;//操作人 ultraDataSource1.Rows[0]["InspectTime"] = _result.ColTime;//磷化时间 ultraDataSource1.Rows[0]["AntiCorrosion"] = _result.AntiCorrosion;//耐蚀性 ultraDataSource1.Rows[0]["ReactionTime"] = _result.ReactionTime;//反应时间 ultraDataSource1.Rows[0]["SurfaceCondition"] = _result.SurfaceCondition;//表面质量 ultraDataSource1.Rows[0]["Producer"] = _result.Producer;//监制人 ultraDataSource1.Rows[0]["Produce_Time"] = _result.ProducerTime;//到场时间 ultraDataSource1.Rows[0]["REMARK"] = _result.Remark;//备注 ultraDataSource1.Rows[0]["COL_COUNT"] = _result.ColCount;//个数 ultraDataSource1.Rows[0]["COL_OPERATOR"] = _result.ColOperator;//操作工 ultraDataSource1.Rows[0]["IS_SPRAY"] = _result.IsSpray; //是否喷标 ultraDataSource1.Rows[0]["SPRAY_CONTENT"] = _result.SprayContent; ultraDataSource1.Rows[0]["SPRAY_COUNT"] = _result.SprayCount; if (_result.IsSpray != null) { foreach (UltraGridRow ugr in ultraGrid1.Rows) { if (!_result.IsSpray.Equals("无喷标")) { ugr.Cells["SPRAY_CONTENT"].Appearance.BackHatchStyle = BackHatchStyle.None; ugr.Cells["SPRAY_CONTENT"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; ugr.Cells["SPRAY_COUNT"].Appearance.BackHatchStyle = BackHatchStyle.None; ugr.Cells["SPRAY_COUNT"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } else { ugr.Cells["SPRAY_CONTENT"].Appearance.BackHatchStyle = BackHatchStyle.Default; ugr.Cells["SPRAY_CONTENT"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; ugr.Cells["SPRAY_COUNT"].Appearance.BackHatchStyle = BackHatchStyle.Default; ugr.Cells["SPRAY_COUNT"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } } } } else { GridHelper.InitCardGrid(ultraDataSource1, ultraGrid1); } ultraGrid1.UpdateData(); } /// /// 控件编辑后更新已修改数据 /// public new void Update() { ultraGrid1.UpdateData(); } /// /// 控件编辑后更新已修改数据 /// /// /// private void ultraGrid1_AfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { try { switch(e.Cell.Column.Key) { case "MembranceThick": Value.MembranceThick = e.Cell.Value.ToString(); break; case "Adhesion": Value.Adhesion = e.Cell.Value.ToString(); break; case "InspectShift": Value.ColShft = e.Cell.Value.ToString(); break; case "InspectGroup": Value.ColGroup = e.Cell.Value.ToString(); break; case "InspectOperator": Value.ColUser = e.Cell.Value.ToString(); break; case "InspectTime": Value.ColTime = e.Cell.Value.ToString(); break; case "AntiCorrosion": Value.AntiCorrosion = e.Cell.Value.ToString(); break; case "SurfaceCondition": Value.SurfaceCondition = e.Cell.Value.ToString(); break; case "ReactionTime": Value.ReactionTime = e.Cell.Value.ToString(); break; case "Producer": Value.Producer = e.Cell.Value.ToString(); break; case "Produce_Time": Value.ProducerTime = e.Cell.Value.ToString(); break; case "COL_COUNT": Value.ColCount = e.Cell.Value.ToString(); break; case "COL_OPERATOR": Value.ColOperator = e.Cell.Value.ToString(); break; case "IS_SPRAY": Value.IsSpray = e.Cell.Value.ToString(); break; case "REMARK": Value.Remark = e.Cell.Value.ToString(); break; case "SPRAY_CONTENT": Value.SprayContent = e.Cell.Value.ToString(); break; case "SPRAY_COUNT": Value.SprayCount = e.Cell.Value.ToString(); break; } } catch { } } /// /// 验证格试 /// public bool ValidInput1() { //bool p = true; if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["COL_COUNT"].ToString())) { MessageBox.Show("个数 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["MembranceThick"].ToString())) { MessageBox.Show("膜厚 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["AntiCorrosion"].ToString())) { MessageBox.Show("耐蚀性 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["ReactionTime"].ToString())) { MessageBox.Show("反应时间 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (_result.IsSpray.Equals("是")) { if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["SPRAY_COUNT"].ToString())) { MessageBox.Show("喷标个数 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } } return true; } /// /// 设置grid中一部分的编辑模式 /// /// 要设置的部分 /// public void SetGridActivation(Object[] pamars, Activation activation) { if (pamars != null) { foreach (string column in pamars) { // this.ultraGrid1.DisplayLayout.Override.CellAppearance this.ultraGrid1.DisplayLayout.Bands[0].Columns[column].CellActivation = activation; // Infragistics.Win.UltraWinGrid.CellEventArgs e = new CellEventArgs(this.ultraGrid1.Selected.Cells); //e.Cell.Column.CellActivation.ToString() = activation; if (activation == Activation.AllowEdit) { this.ultraGrid1.DisplayLayout.Bands[0].Columns[column].CellAppearance.BackColor = Color.White; if (column == "Produce_Time") { this.ultraGrid1.DisplayLayout.Bands[0].Columns[column].EditorComponent = this.PhospTime; } } else { this.ultraGrid1.DisplayLayout.Bands[0].Columns[column].CellAppearance.BackColor = Color.Gray; if (column == "Produce_Time") { this.ultraGrid1.DisplayLayout.Bands[0].Columns[column].EditorComponent = null; } } } } } } }