using System; using System.Linq; using System.Windows.Forms; using ICSharpCode.Core; using Mesnac.Action.Base; namespace Mesnac.Action.ChemicalWeighing.LjTanNum { public class UpdateAction:ChemicalWeighingAction,IAction { public static event EventHandler OnUpdateMaterial; private DbMCControl _materialGridControl = null; //物料列表控件 private RuntimeParameter _runtime; public void Run(RuntimeParameter runtime) { base.RunIni(runtime); //必须调用 this._runtime = runtime; DbMCControl materialGridControl = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "lj_stock_material").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]; TankNumCodingView actionCodeView = new TankNumCodingView() { Id = (int)dataGridViewRow.Cells["id"].Value, MTypeId = (int)dataGridViewRow.Cells["MTypeId"].Value, }; FrmTankNum frmTankNum = new FrmTankNum(actionCodeView); DialogResult result = frmTankNum.ShowDialog(); this._runtime.BaseControl.MCEnabled = false; if (result == DialogResult.OK) { if (OnUpdateMaterial != null) { OnUpdateMaterial(this._runtime.BaseControl.MCRoot, System.EventArgs.Empty); } frmTankNum.Dispose(); } this._runtime.BaseControl.MCEnabled = true; } } }