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;
using System.Timers;
namespace Mesnac.Action.ChemicalWeighing.Product.PptPlan
{
///
/// 当班计划窗体初始化业务
///
public class InitFormAction : ChemicalWeighingAction,IAction
{
///
/// 刷新
///
public static event EventHandler OnRefreshPlan;
#region 字段定义
public static bool IsFirstRun = true; //是否首次运行
private RuntimeParameter _runtime;
//private DbMCControl _planDateControl = null; //计划日期
//private DbMCControl _pptShiftControl = null; //班次
private DbMCControl _clientGridControl = null; //本地计划控件
#endregion
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime);
#region 首次执行,进行事件订阅
if (IsFirstRun)
{
IsFirstRun = false;
ICSharpCode.Core.LoggingService.Debug("当班计划-窗体初始化业务...");
}
#endregion
PlanHelper.IsInit = false; //先设置是否已初始化标记为False
#region 初始化
#region 获取界面控件
string source = string.Empty;
DbMCControl clientGridControl = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "RT_plan").FirstOrDefault(); //获取本机台计划网格控件
if (clientGridControl == null)
{
ICSharpCode.Core.LoggingService.Error("{当班计划-窗体加载} 缺少计划列表网格控件...");
return;
}
this._runtime = runtime;
this._clientGridControl = clientGridControl;
#endregion
#region 初始化操作
DataGridView clientGrid = (clientGridControl.BaseControl as DataGridView);
this.InitGridViewEvent(clientGrid);
#endregion
#endregion
PlanHelper.IsInit = true; //初始化完毕后,再设置是否已初始化标记为True
}
#region 方法定义
#region 网格事件处理方法
///
/// 初始化网格样式
///
/// DataGridView网格控件对象
private void InitGridViewEvent(DataGridView dgv)
{
if (dgv != null)
{
PlanHelper.SetDataGridViewStyle(dgv); //设置网格样式
//双击时取消选择行(取消高亮显示)
dgv.CellDoubleClick += delegate(object sender, DataGridViewCellEventArgs e)
{
if (dgv.Rows != null && dgv.Rows.Count > 0)
{
foreach (DataGridViewRow row in dgv.Rows)
{
row.Selected = false;
}
}
};
dgv.VisibleChanged += delegate(object sender, EventArgs e)
{
PlanHelper.SetBackColor(dgv);
};
//PlanHelper.SetBackColor(dgv);
ContextMenuStrip cms = new ContextMenuStrip();
cms.Items.Add("称量明细");
dgv.ContextMenuStrip = cms;
cms.Click += Cms_Click;
}
}
private void Cms_Click(object sender, EventArgs e)
{
//ShowMsg("11111");
//MessageBox.Show("11111");
}
#endregion
#endregion
}
}