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;
}
}
}
}
}