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 CoreFS.CA06; using Core.Mes.Client.Comm.Server; using Infragistics.Win; namespace Core.StlMes.Client.Mcp.Control { public partial class CutControl : UserControl { OpeBase ob; public OpeBase Ob { get { return ob; } set { ob = value; } } string customInfo; public string CustomInfo { get { return customInfo; } set { customInfo = value; } } private string plinCode; public string PlinCode { get { return plinCode; } set { plinCode = value; } } private string cutMachGroup; public string CutMachGroup { get { return cutMachGroup; } set { cutMachGroup = value; } } private Infragistics.Win.UltraWinGrid.UltraGrid _grid = null; /// /// Grid编辑区 /// public Infragistics.Win.UltraWinGrid.UltraGrid Grid { get { return _grid; } } private CutResult _cutResult = new CutResult(); /// /// 接箍切割实绩实体对象 /// public CutResult Value { get { return _cutResult; } set { if (value != null) { _cutResult = value; UpdateData(); } } } public CutControl() { InitializeComponent(); GridHelper.InitCardGrid(this.ultraDataSource1, this.ultraGrid1); _grid = this.ultraGrid1; } public void UpdateData() { if (_cutResult != null) { ultraDataSource1.Rows[0]["Machine_No"] = _cutResult.MachineNo; ultraDataSource1.Rows[0]["Cut_Pieces"] = _cutResult.CutPieces; ultraDataSource1.Rows[0]["Qualified_Number"] = _cutResult.QualifiedNumber; ultraDataSource1.Rows[0]["Rejected_Number"]=_cutResult.RejectedPieces ; ultraDataSource1.Rows[0]["Rjected_Reason"]= _cutResult.RejectedReason ; ultraDataSource1.Rows[0]["Is_Remaining"] = Convert.ToBoolean(_cutResult.IsRemaining); ultraDataSource1.Rows[0]["LVALID_LENGTH"]=_cutResult.LvalidLength ; ultraDataSource1.Rows[0]["Producer"]=_cutResult.Producer; ultraDataSource1.Rows[0]["Produce_Time"]=_cutResult.ProducerTime ; ultraDataSource1.Rows[0]["Cut_Shift"]=_cutResult.ColShft ; ultraDataSource1.Rows[0]["Cut_Group"]=_cutResult.ColGroup ; ultraDataSource1.Rows[0]["COL_USER"] = _cutResult.ColUser; ultraDataSource1.Rows[0]["Cut_Time"]=_cutResult.ColTime ; ultraDataSource1.Rows[0]["COL_OPERATOR"] = _cutResult.ColOperator; } 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 "Machine_No": _cutResult.MachineNo = e.Cell.Value.ToString(); Value.MachineNo = e.Cell.Value.ToString(); break; case "Cut_Pieces": Value.CutPieces = e.Cell.Value.ToString(); break; case "Qualified_Number": Value.QualifiedNumber = e.Cell.Value.ToString(); break; case "Rejected_Number": Value.RejectedPieces = e.Cell.Value.ToString(); break; case "Rjected_Reason": Value.RejectedReason = e.Cell.Value.ToString(); break; case "Is_Remaining": Value.IsRemaining = e.Cell.Value.ToString(); break; case "LVALID_LENGTH": Value.LvalidLength = 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 "Cut_Shift": Value.ColShft = e.Cell.Value.ToString(); break; case "Cut_Group": Value.ColGroup = e.Cell.Value.ToString(); break; case "COL_USER": Value.ColUser = e.Cell.Value.ToString(); break; case "Cut_Time": Value.ColTime = e.Cell.Value.ToString(); break; case "COL_OPERATOR": Value.ColOperator = e.Cell.Value.ToString(); break; } } catch (Exception ex) { } } /// /// 设置整个grid的编辑模式 /// /// /// /// 不需要设置的列 //public void SetGridActivationExceptCol( Activation activation,UltraGridColumn[] cols) //{ // GridHelper.SetGridActivationExceptCol(this.ultraGrid1, activation, cols); //} /// /// 设置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.ultraDateTimeEditor1; } } 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; } } } } } /// /// 验证格试 /// public bool ValidInput1() { //bool p = true; ultraGrid1.UpdateData(); if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["Cut_Pieces"].ToString())) { MessageBox.Show("加工支数 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["Qualified_Number"].ToString())) { MessageBox.Show("切管个数 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } //if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["Rejected_Number"].ToString())) //{ // MessageBox.Show("废品个数 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); // return false; //} if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["LVALID_LENGTH"].ToString())) { MessageBox.Show("黄漆长度 请输入数字", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } return true; } private void ultraGrid1_CellChange(object sender, CellEventArgs e) { ultraGrid1.UpdateData(); if (e.Cell.Column.Key.Equals("Machine_No")) { DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.coup.CoupCutService.getMachUser", new object[] { e.Cell.Row.Cells["Machine_No"].Text.ToString(), CustomInfo, plinCode, cutMachGroup }, this.Ob); cmbUser.DataSource = dt; cmbUser.ValueMember = "MACHINE_USER"; } string count = ""; if (e.Cell.Column.Key.Equals("Rejected_Number")) { if (e.Cell.Row.Cells["Rejected_Number"].Text.Trim().Equals("")) { count = "0"; } if (e.Cell.Row.Cells["Rejected_Number"].Text.Trim().Equals("0")) { count = "0"; } if (count == "0") { e.Cell.Row.Cells["Rjected_Reason"].Value = ""; e.Cell.Row.Cells["Rjected_Reason"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } else { e.Cell.Row.Cells["Rjected_Reason"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } } } } }