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