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.

113 lines
3.5 KiB
C#

1 year ago
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data;
using Mesnac.Action.Base;
using Mesnac.Codd.Session;
using System.Reflection;
using Mesnac.Controls.Base;
namespace Mesnac.Action.ChemicalWeighing.Station
{
/// <summary>
/// 当班计划窗体初始化业务
/// </summary>
public class InitFormAction : ChemicalWeighingAction,IAction
{
#region 字段定义
public static bool IsFirstRun = true; //是否首次运行
private RuntimeParameter _runtime;
private DbMCControl _clientGridControl = null; //配方管理控件
private DbMCControl _weighGridControl = null; //物料控件
#endregion
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime);
#region 首次执行,进行事件订阅
if (IsFirstRun)
{
IsFirstRun = false;
ICSharpCode.Core.LoggingService<InitFormAction>.Debug("工位管理-窗体初始化业务...");
}
#endregion
#region 初始化
#region 获取界面控件
string source = string.Empty;
DbMCControl clientGridControl = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "xl_station").FirstOrDefault(); //获取本机台计划网格控件
if (clientGridControl == null)
{
ICSharpCode.Core.LoggingService<InitFormAction>.Error("{工位管理-窗体加载} 缺少计划列表网格控件...");
return;
}
DbMCControl weighGridControl = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "xl_station_sub").FirstOrDefault();
if (weighGridControl == null || !(weighGridControl.BaseControl is DataGridView))
{
ICSharpCode.Core.LoggingService<RefreshAction>.Error("{工位管理—选择配方}缺少工位子表显示控件...");
return;
}
this._runtime = runtime;
this._clientGridControl = clientGridControl;
this._weighGridControl = weighGridControl;
#endregion
#region 初始化操作
DataGridView clientGrid = (clientGridControl.BaseControl as DataGridView);
DataGridView weighGridView = (weighGridControl.BaseControl as DataGridView);
this.InitGridViewEvent(clientGrid);
this.InitGridViewEvent(weighGridView);
#endregion
#endregion
}
#region 方法定义
#region 网格事件处理方法
/// <summary>
/// 初始化网格样式
/// </summary>
/// <param name="dgv">DataGridView网格控件对象</param>
private void InitGridViewEvent(DataGridView dgv)
{
if (dgv != null)
{
//双击时取消选择行(取消高亮显示)
dgv.CellDoubleClick += delegate(object sender, DataGridViewCellEventArgs e)
{
if (dgv.Rows != null && dgv.Rows.Count > 0)
{
foreach (DataGridViewRow row in dgv.Rows)
{
row.Selected = false;
}
}
};
}
}
#endregion
#endregion
}
}