You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lj_plc/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjMixManager/UpdateAction.cs

95 lines
2.9 KiB
C#

using System;
using System.Linq;
using System.Windows.Forms;
using Mesnac.Action.Base;
namespace Mesnac.Action.ChemicalWeighing.LjMixManager
{
public class UpdateAction:ChemicalWeighingAction, IAction
{
private DbMCControl _materialGridControl = null; //物料列表控件
private RuntimeParameter _runtime;
public static event EventHandler OnUpdate;
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime); //必须调用
this._runtime = runtime;
DbMCControl materialGridControl =
this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "lj_mix_manager")
.FirstOrDefault(); //获取物料数据控件
this._materialGridControl = materialGridControl;
DataGridView clientGridView = this._materialGridControl.BaseControl as DataGridView;
//验证是否选中某物料
if (clientGridView.SelectedRows.Count != 1)
{
MessageBox.Show("请选择要修改的数据", Mesnac.Basic.LanguageHelper.Caption,
MessageBoxButtons.OK, MessageBoxIcon.Information);
this._runtime.IsReturn = true;
return;
}
var dataGridViewRow = clientGridView.SelectedRows[0];
var id = Convert.ToInt32(dataGridViewRow.Cells["Id"].Value);
DialogResult result = DialogResult.OK;
FrmMixA mixA = null;
FrmMixB mixB= null;
FrmMixC mixC= null;
if (id < 5)
{
mixA = new FrmMixA(id);
result = mixA.ShowDialog();
}
else
{
if (id < 13)
{
mixB = new FrmMixB(id);
result = mixB.ShowDialog();
}
else
{
mixC = new FrmMixC(id);
result = mixC.ShowDialog();
}
}
this._runtime.BaseControl.MCEnabled = false;
if (result == DialogResult.OK)
{
if (OnUpdate != null)
{
OnUpdate(this._runtime.BaseControl.MCRoot, System.EventArgs.Empty);
}
if (mixA != null)
{
mixA.Dispose();
}
if (mixB != null)
{
mixB.Dispose();
}
if (mixC != null)
{
mixC.Dispose();
}
}
this._runtime.BaseControl.MCEnabled = true;
}
}
}