|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using Mesnac.Action.Base;
|
|
|
|
|
using Mesnac.Controls.Base;
|
|
|
|
|
using Mesnac.Controls.Default;
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
using Mesnac.Codd.Session;
|
|
|
|
|
using Mesnac.Action.Feeding.SynchroData;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace Mesnac.Action.Feeding.Technology
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 初始化加载配方数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class IniRecipe : FeedingAction, IAction
|
|
|
|
|
{
|
|
|
|
|
private static bool IsFirstRun = true; //是否首次执行
|
|
|
|
|
private static object oldSender = null;
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 配方界面初始化
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="runtime"></param>
|
|
|
|
|
public void Run(RuntimeParameter runtime)
|
|
|
|
|
{
|
|
|
|
|
base.RunIni(runtime); //必须调用
|
|
|
|
|
List<MCDataGridView> gridList = GetTControls<MCDataGridView>();
|
|
|
|
|
if (IsFirstRun && gridList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
InitGridData(gridList);
|
|
|
|
|
oldSender = runtime.Sender;
|
|
|
|
|
IsFirstRun = false;
|
|
|
|
|
}
|
|
|
|
|
if (oldSender != runtime.Sender && gridList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
InitGridData(gridList);
|
|
|
|
|
oldSender = runtime.Sender;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 初始化配方的网格控件
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="gridList"></param>
|
|
|
|
|
private void InitGridData(List<MCDataGridView> gridList)
|
|
|
|
|
{
|
|
|
|
|
foreach (MCDataGridView grid in gridList)
|
|
|
|
|
{
|
|
|
|
|
if (grid.MCKey != null && grid.MCKey.ToLower().StartsWith("PmtWeight.".ToLower()))
|
|
|
|
|
{
|
|
|
|
|
grid.ContextMenuStrip = IniDelMenu();
|
|
|
|
|
int iType = 0;
|
|
|
|
|
if (int.TryParse(grid.MCKey.Substring("PmtWeight.".Length).Trim(), out iType))
|
|
|
|
|
{
|
|
|
|
|
IniWeightHead(grid, iType);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (grid.MCKey != null && grid.MCKey.ToLower() == "PmtMixing".ToLower())
|
|
|
|
|
{
|
|
|
|
|
grid.ContextMenuStrip = IniMoveMenu();
|
|
|
|
|
IniPmtMixingHead(grid);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private ContextMenuStrip IniDelMenu()
|
|
|
|
|
{
|
|
|
|
|
ContextMenuStrip Result = new ContextMenuStrip();
|
|
|
|
|
Result.ResumeLayout(false);
|
|
|
|
|
ToolStripMenuItem ToolStripMenuItem0 = new ToolStripMenuItem();
|
|
|
|
|
ToolStripMenuItem0.Name = "ToolStripMenuItem0";
|
|
|
|
|
ToolStripMenuItem0.Size = new System.Drawing.Size(98, 22);
|
|
|
|
|
ToolStripMenuItem0.Text = Language(200);
|
|
|
|
|
ToolStripMenuItem0.Click += toolStripMenuItem_Click;
|
|
|
|
|
Result.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
|
|
|
|
ToolStripMenuItem0});
|
|
|
|
|
Result.Name = "WeightMenu";
|
|
|
|
|
return Result;
|
|
|
|
|
}
|
|
|
|
|
private ContextMenuStrip IniMoveMenu()
|
|
|
|
|
{
|
|
|
|
|
ContextMenuStrip Result = new ContextMenuStrip();
|
|
|
|
|
Result.ResumeLayout(false);
|
|
|
|
|
ToolStripMenuItem ToolStripMenuItem1 = new ToolStripMenuItem();
|
|
|
|
|
ToolStripMenuItem1.Name = "ToolStripMenuItem1";
|
|
|
|
|
ToolStripMenuItem1.Size = new System.Drawing.Size(98, 22);
|
|
|
|
|
ToolStripMenuItem1.Text = Language(201); //201插入
|
|
|
|
|
ToolStripMenuItem1.Click += toolStripMenuItem_Click;
|
|
|
|
|
ToolStripMenuItem ToolStripMenuItem2 = new ToolStripMenuItem();
|
|
|
|
|
ToolStripMenuItem2.Name = "ToolStripMenuItem2";
|
|
|
|
|
ToolStripMenuItem2.Size = new System.Drawing.Size(98, 22);
|
|
|
|
|
ToolStripMenuItem2.Text = Language(200); //200删除
|
|
|
|
|
ToolStripMenuItem2.Click += toolStripMenuItem_Click;
|
|
|
|
|
ToolStripMenuItem ToolStripMenuItem3 = new ToolStripMenuItem();
|
|
|
|
|
ToolStripMenuItem3.Name = "ToolStripMenuItem3";
|
|
|
|
|
ToolStripMenuItem3.Size = new System.Drawing.Size(98, 22);
|
|
|
|
|
ToolStripMenuItem3.Text = Language(202); //202上移
|
|
|
|
|
ToolStripMenuItem3.Click += toolStripMenuItem_Click;
|
|
|
|
|
ToolStripMenuItem ToolStripMenuItem4 = new ToolStripMenuItem();
|
|
|
|
|
ToolStripMenuItem4.Name = "ToolStripMenuItem4";
|
|
|
|
|
ToolStripMenuItem4.Size = new System.Drawing.Size(98, 22);
|
|
|
|
|
ToolStripMenuItem4.Text = Language(203); //203下移
|
|
|
|
|
ToolStripMenuItem4.Click += toolStripMenuItem_Click;
|
|
|
|
|
Result.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
|
|
|
|
ToolStripMenuItem1,
|
|
|
|
|
ToolStripMenuItem2,
|
|
|
|
|
ToolStripMenuItem3,
|
|
|
|
|
ToolStripMenuItem4});
|
|
|
|
|
Result.Name = "MixingMenu";
|
|
|
|
|
return Result;
|
|
|
|
|
}
|
|
|
|
|
private void IniDataGridEvent(DataGridView grid)
|
|
|
|
|
{
|
|
|
|
|
grid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None;
|
|
|
|
|
grid.DataError += dataGridView_DataError;
|
|
|
|
|
grid.CellValueChanged += dataGridView_CellValueChanged;
|
|
|
|
|
grid.CellValidating += dataGridView_CellValidating;
|
|
|
|
|
grid.CellMouseDown += dataGridView_CellMouseDown;
|
|
|
|
|
grid.SortCompare += dataGridView_SortCompare;
|
|
|
|
|
grid.AllowUserToAddRows = false;
|
|
|
|
|
grid.ReadOnly = false;
|
|
|
|
|
grid.AutoGenerateColumns = false;
|
|
|
|
|
grid.AllowUserToResizeRows = false;
|
|
|
|
|
grid.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#region 初始化称量信息网格表头(炭黑、油、胶料(小料、油2))
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 初始化称量信息网格表头(炭黑、油、胶料(小料、油2))
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="grid">称量信息网格控件</param>
|
|
|
|
|
/// <param name="id">称量类型0-炭黑、1-油1、2-胶料、3-</param>
|
|
|
|
|
private void IniWeightHead(DataGridView grid, int id)
|
|
|
|
|
{
|
|
|
|
|
IniDataGridEvent(grid);
|
|
|
|
|
#region 初始化表头字段
|
|
|
|
|
DataGridViewTextBoxColumn a1 = new DataGridViewTextBoxColumn();
|
|
|
|
|
a1.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a1.DataPropertyName = "SeqInx";
|
|
|
|
|
a1.HeaderText = "a" + id.ToString();
|
|
|
|
|
a1.Width = 40;
|
|
|
|
|
grid.Columns.Add(a1);
|
|
|
|
|
DataGridViewComboBoxColumn a2 = new DataGridViewComboBoxColumn();
|
|
|
|
|
a2.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
|
|
|
|
|
a2.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a2.DataPropertyName = "act_code";
|
|
|
|
|
a2.HeaderText = Language(210);
|
|
|
|
|
a2.ValueMember = "ssKey";
|
|
|
|
|
a2.DisplayMember = "ssValue";
|
|
|
|
|
a2.Width = 80;
|
|
|
|
|
grid.Columns.Add(a2);
|
|
|
|
|
DataGridViewComboBoxColumn a3 = new DataGridViewComboBoxColumn();
|
|
|
|
|
a3.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
|
|
|
|
|
a3.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a3.DataPropertyName = "child_code";
|
|
|
|
|
a3.HeaderText = Language(211);
|
|
|
|
|
a3.ValueMember = "mater_code";
|
|
|
|
|
a3.DisplayMember = "mater_name";
|
|
|
|
|
a3.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
|
|
|
|
grid.Columns.Add(a3);
|
|
|
|
|
DataGridViewTextBoxColumn a4 = new DataGridViewTextBoxColumn();
|
|
|
|
|
a4.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a4.DataPropertyName = "child_code";
|
|
|
|
|
a4.HeaderText = Language(212);
|
|
|
|
|
a4.Width = 100;
|
|
|
|
|
grid.Columns.Add(a4);
|
|
|
|
|
DataGridViewTextBoxColumn a5 = new DataGridViewTextBoxColumn();
|
|
|
|
|
a5.ValueType = typeof(double);
|
|
|
|
|
a5.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a5.DataPropertyName = "set_weight";
|
|
|
|
|
a5.HeaderText = Language(213);
|
|
|
|
|
a5.Width = 60;
|
|
|
|
|
grid.Columns.Add(a5);
|
|
|
|
|
DataGridViewTextBoxColumn a6 = new DataGridViewTextBoxColumn();
|
|
|
|
|
a6.ValueType = typeof(double);
|
|
|
|
|
a6.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a6.DataPropertyName = "error_allow";
|
|
|
|
|
a6.HeaderText = Language(214);
|
|
|
|
|
a6.Width = 60;
|
|
|
|
|
grid.Columns.Add(a6);
|
|
|
|
|
if (id == 2 && base.GetConfigValue("IsAutoPloy", "0") == "1")
|
|
|
|
|
{
|
|
|
|
|
DataGridViewComboBoxColumn a7 = new DataGridViewComboBoxColumn();
|
|
|
|
|
a7.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
|
|
|
|
|
a7.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a7.DataPropertyName = "Auto_ploy";
|
|
|
|
|
a7.HeaderText = Language(305);
|
|
|
|
|
a7.ValueMember = "ssKey";
|
|
|
|
|
a7.DisplayMember = "ssValue";
|
|
|
|
|
a7.Width = 80;
|
|
|
|
|
grid.Columns.Add(a7);
|
|
|
|
|
|
|
|
|
|
string sqlstr = "SELECT ItemCode AS ssKey,ItemName AS ssValue FROM SysCode WHERE TypeID='AutoPloy'";
|
|
|
|
|
DbHelper dbHelper = NewDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
|
|
|
dbHelper.CommandType = CommandType.Text;
|
|
|
|
|
dbHelper.ClearParameter();
|
|
|
|
|
dbHelper.CommandText = sqlstr;
|
|
|
|
|
DataTable dt_ploy = dbHelper.ToDataTable();
|
|
|
|
|
a7.DataSource = dt_ploy;
|
|
|
|
|
|
|
|
|
|
#region 增加下拉时自动刷新数据
|
|
|
|
|
|
|
|
|
|
a7.DataGridView.CellBeginEdit += delegate(object sender, DataGridViewCellCancelEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (e.ColumnIndex == a7.Index)
|
|
|
|
|
{
|
|
|
|
|
string sqlstr7 = "SELECT ItemCode AS ssKey,ItemName AS ssValue FROM SysCode WHERE TypeID='AutoPloy'";
|
|
|
|
|
DbHelper dbHelper7 = NewDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
|
|
|
dbHelper7.CommandType = CommandType.Text;
|
|
|
|
|
dbHelper7.ClearParameter();
|
|
|
|
|
dbHelper7.CommandText = sqlstr7;
|
|
|
|
|
DataTable dt_ploy7 = dbHelper7.ToDataTable();
|
|
|
|
|
a7.DataSource = dt_ploy7;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
#region 初始化称量动作
|
|
|
|
|
if (true) //初始化称量动作
|
|
|
|
|
{
|
|
|
|
|
string sqlstr = "SELECT ItemCode AS ssKey,ItemName AS ssValue FROM SysCode WHERE TypeID='WeightAction'";
|
|
|
|
|
DbHelper dbHelper = NewDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
|
|
|
dbHelper.CommandType = CommandType.Text;
|
|
|
|
|
dbHelper.ClearParameter();
|
|
|
|
|
dbHelper.CommandText = sqlstr;
|
|
|
|
|
DataTable dt_act = dbHelper.ToDataTable();
|
|
|
|
|
a2.DataSource = dt_act;
|
|
|
|
|
|
|
|
|
|
#region 增加下拉时自动刷新称量动作数据
|
|
|
|
|
|
|
|
|
|
a2.DataGridView.CellBeginEdit += delegate(object sender, DataGridViewCellCancelEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (e.ColumnIndex == a2.Index)
|
|
|
|
|
{
|
|
|
|
|
string sqlstr2 = "SELECT ItemCode AS ssKey,ItemName AS ssValue FROM SysCode WHERE TypeID='WeightAction'";
|
|
|
|
|
DbHelper dbHelper2 = NewDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
|
|
|
dbHelper2.CommandType = CommandType.Text;
|
|
|
|
|
dbHelper2.ClearParameter();
|
|
|
|
|
dbHelper2.CommandText = sqlstr2;
|
|
|
|
|
DataTable dt_act2 = dbHelper2.ToDataTable();
|
|
|
|
|
a2.DataSource = dt_act2;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
#region 初始化称量物料
|
|
|
|
|
if (true) //初始化称量物料
|
|
|
|
|
{
|
|
|
|
|
string sqlstr = "SELECT * FROM PmtConfig WHERE TypeCode='WeightMaterial' AND ItemCode='" + id.ToString() + "'";
|
|
|
|
|
DbHelper dbHelper = NewDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
|
|
|
dbHelper.CommandType = CommandType.Text;
|
|
|
|
|
dbHelper.ClearParameter();
|
|
|
|
|
dbHelper.CommandText = sqlstr;
|
|
|
|
|
DataTable dtconfig = dbHelper.ToDataTable();
|
|
|
|
|
foreach (DataRow row in dtconfig.Rows)
|
|
|
|
|
{
|
|
|
|
|
a1.HeaderText = row["ItemName"].ToString();
|
|
|
|
|
sqlstr = row["ItemInfo"].ToString();
|
|
|
|
|
dbHelper.CommandText = sqlstr;
|
|
|
|
|
DataTable dt = dbHelper.ToDataTable();
|
|
|
|
|
DataRow dr_0 = dt.NewRow();
|
|
|
|
|
dr_0["ObjID"] = 0;
|
|
|
|
|
dr_0["mater_code"] = string.Empty;
|
|
|
|
|
dr_0["mater_name"] = string.Empty;
|
|
|
|
|
dt.Rows.InsertAt(dr_0, 0);
|
|
|
|
|
a3.DataSource = dt;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
a3.DataGridView.CellBeginEdit += delegate(object sender, DataGridViewCellCancelEventArgs e) {
|
|
|
|
|
if (e.ColumnIndex == a3.Index)
|
|
|
|
|
{
|
|
|
|
|
string sqlstr3 = "SELECT * FROM PmtConfig WHERE TypeCode='WeightMaterial' AND ItemCode='" + id.ToString() + "'";
|
|
|
|
|
DbHelper dbHelper3 = NewDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
|
|
|
dbHelper3.CommandType = CommandType.Text;
|
|
|
|
|
dbHelper3.ClearParameter();
|
|
|
|
|
dbHelper3.CommandText = sqlstr3;
|
|
|
|
|
DataTable dtconfig3 = dbHelper3.ToDataTable();
|
|
|
|
|
foreach (DataRow row in dtconfig3.Rows)
|
|
|
|
|
{
|
|
|
|
|
a1.HeaderText = row["ItemName"].ToString();
|
|
|
|
|
sqlstr = row["ItemInfo"].ToString();
|
|
|
|
|
dbHelper3.CommandText = sqlstr;
|
|
|
|
|
DataTable dt3 = dbHelper3.ToDataTable();
|
|
|
|
|
DataRow dr_03 = dt3.NewRow();
|
|
|
|
|
dr_03["ObjID"] = 0;
|
|
|
|
|
dr_03["mater_code"] = string.Empty;
|
|
|
|
|
dr_03["mater_name"] = string.Empty;
|
|
|
|
|
dt3.Rows.InsertAt(dr_03, 0);
|
|
|
|
|
a3.DataSource = dt3;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#region 物料更新后,刷新称量组件中的物料信息
|
|
|
|
|
|
|
|
|
|
MaterialSynchronous.MaterialSynchronousComplete += delegate(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
string sqlstr3 = "SELECT * FROM PmtConfig WHERE TypeCode='WeightMaterial' AND ItemCode='" + id.ToString() + "'";
|
|
|
|
|
DbHelper dbHelper3 = NewDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
|
|
|
dbHelper3.CommandType = CommandType.Text;
|
|
|
|
|
dbHelper3.ClearParameter();
|
|
|
|
|
dbHelper3.CommandText = sqlstr3;
|
|
|
|
|
DataTable dtconfig3 = dbHelper3.ToDataTable();
|
|
|
|
|
foreach (DataRow row in dtconfig3.Rows)
|
|
|
|
|
{
|
|
|
|
|
a1.HeaderText = row["ItemName"].ToString();
|
|
|
|
|
sqlstr = row["ItemInfo"].ToString();
|
|
|
|
|
dbHelper3.CommandText = sqlstr;
|
|
|
|
|
DataTable dt3 = dbHelper3.ToDataTable();
|
|
|
|
|
DataRow dr_03 = dt3.NewRow();
|
|
|
|
|
dr_03["ObjID"] = 0;
|
|
|
|
|
dr_03["mater_code"] = string.Empty;
|
|
|
|
|
dr_03["mater_name"] = string.Empty;
|
|
|
|
|
dt3.Rows.InsertAt(dr_03, 0);
|
|
|
|
|
a3.DataSource = dt3;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 初始化密炼信息网格表头
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 初始化密炼信息网格表头
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="grid"></param>
|
|
|
|
|
private void IniPmtMixingHead(DataGridView grid)
|
|
|
|
|
{
|
|
|
|
|
IniDataGridEvent(grid);
|
|
|
|
|
#region 初始化表头字段
|
|
|
|
|
DataGridViewTextBoxColumn a1 = new DataGridViewTextBoxColumn();
|
|
|
|
|
a1.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a1.DataPropertyName = "SeqInx";
|
|
|
|
|
a1.HeaderText = Language(216);
|
|
|
|
|
a1.Width = 30;
|
|
|
|
|
grid.Columns.Add(a1);
|
|
|
|
|
DataGridViewComboBoxColumn a2 = new DataGridViewComboBoxColumn();
|
|
|
|
|
a2.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
|
|
|
|
|
a2.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a2.MaxDropDownItems = 20;
|
|
|
|
|
a2.DataPropertyName = "term_code";
|
|
|
|
|
a2.HeaderText = Language(217);
|
|
|
|
|
a2.ValueMember = "TermCode";
|
|
|
|
|
a2.DisplayMember = "ShowName";
|
|
|
|
|
a2.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
|
|
|
|
grid.Columns.Add(a2);
|
|
|
|
|
DataGridViewTextBoxColumn a3 = new DataGridViewTextBoxColumn();
|
|
|
|
|
a3.ValueType = typeof(int);
|
|
|
|
|
a3.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a3.DataPropertyName = "set_time";
|
|
|
|
|
a3.HeaderText = Language(218);
|
|
|
|
|
a3.Width = 40;
|
|
|
|
|
grid.Columns.Add(a3);
|
|
|
|
|
DataGridViewTextBoxColumn a4 = new DataGridViewTextBoxColumn();
|
|
|
|
|
a4.ValueType = typeof(double);
|
|
|
|
|
a4.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a4.DataPropertyName = "set_temp";
|
|
|
|
|
a4.HeaderText = Language(219);
|
|
|
|
|
a4.Width = 40;
|
|
|
|
|
grid.Columns.Add(a4);
|
|
|
|
|
DataGridViewTextBoxColumn a5 = new DataGridViewTextBoxColumn();
|
|
|
|
|
a5.ValueType = typeof(double);
|
|
|
|
|
a5.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a5.DataPropertyName = "set_power";
|
|
|
|
|
a5.HeaderText = Language(220);
|
|
|
|
|
a5.Width = 40;
|
|
|
|
|
grid.Columns.Add(a5);
|
|
|
|
|
DataGridViewTextBoxColumn a6 = new DataGridViewTextBoxColumn();
|
|
|
|
|
a5.ValueType = typeof(double);
|
|
|
|
|
a6.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a6.DataPropertyName = "set_ener";
|
|
|
|
|
a6.HeaderText = Language(221);
|
|
|
|
|
a6.Width = 40;
|
|
|
|
|
grid.Columns.Add(a6);
|
|
|
|
|
DataGridViewComboBoxColumn a7 = new DataGridViewComboBoxColumn();
|
|
|
|
|
a7.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
|
|
|
|
|
a7.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a7.MaxDropDownItems = 20;
|
|
|
|
|
a7.DataPropertyName = "act_code";
|
|
|
|
|
a7.HeaderText = Language(222);
|
|
|
|
|
a7.ValueMember = "ActionCode";
|
|
|
|
|
a7.DisplayMember = "ShowName";
|
|
|
|
|
a7.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
|
|
|
|
grid.Columns.Add(a7);
|
|
|
|
|
DataGridViewTextBoxColumn a8 = new DataGridViewTextBoxColumn();
|
|
|
|
|
a8.ValueType = typeof(double);
|
|
|
|
|
a8.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a8.DataPropertyName = "set_pres";
|
|
|
|
|
a8.HeaderText = Language(223);
|
|
|
|
|
a8.Width = 40;
|
|
|
|
|
grid.Columns.Add(a8);
|
|
|
|
|
DataGridViewTextBoxColumn a9 = new DataGridViewTextBoxColumn();
|
|
|
|
|
a9.ValueType = typeof(double);
|
|
|
|
|
a9.SortMode = DataGridViewColumnSortMode.NotSortable;
|
|
|
|
|
a9.DataPropertyName = "set_rota";
|
|
|
|
|
a9.HeaderText = Language(224);
|
|
|
|
|
a9.Width = 40;
|
|
|
|
|
grid.Columns.Add(a9);
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
DbMCSource dbsource = base.GetAllDbMCSources().FirstOrDefault();
|
|
|
|
|
DbHelper dbHelper = NewDbHelper(dbsource.DesignSource);
|
|
|
|
|
if (dbHelper == null)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
#region 初始化动作
|
|
|
|
|
if (true) //初始化称量动作
|
|
|
|
|
{
|
|
|
|
|
string sqlstr = "SELECT * FROM PmtAction";
|
|
|
|
|
dbHelper.CommandType = CommandType.Text;
|
|
|
|
|
dbHelper.ClearParameter();
|
|
|
|
|
dbHelper.CommandText = sqlstr;
|
|
|
|
|
DataTable dt = dbHelper.ToDataTable();
|
|
|
|
|
DataRow dr_0 = dt.NewRow();
|
|
|
|
|
dr_0["ObjID"] = 0;
|
|
|
|
|
dr_0["ActionCode"] = string.Empty;
|
|
|
|
|
dr_0["ShowName"] = string.Empty;
|
|
|
|
|
dt.Rows.InsertAt(dr_0, 0);
|
|
|
|
|
a7.DataSource = dt;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
#region 初始化配方条件
|
|
|
|
|
if (true) //初始化配方条件
|
|
|
|
|
{
|
|
|
|
|
string sqlstr = "SELECT * FROM PmtTerm";
|
|
|
|
|
dbHelper.CommandType = CommandType.Text;
|
|
|
|
|
dbHelper.ClearParameter();
|
|
|
|
|
dbHelper.CommandText = sqlstr;
|
|
|
|
|
DataTable dt = dbHelper.ToDataTable();
|
|
|
|
|
DataRow dr_0 = dt.NewRow();
|
|
|
|
|
dr_0["ObjID"] = 0;
|
|
|
|
|
dr_0["TermCode"] = string.Empty;
|
|
|
|
|
dr_0["ShowName"] = string.Empty;
|
|
|
|
|
dt.Rows.InsertAt(dr_0, 0);
|
|
|
|
|
a2.DataSource = dt;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 密炼步骤【删除】菜单事件实际处理程序
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="grid"></param>
|
|
|
|
|
private void toolStripMenuItem0_Click(MCDataGridView grid)
|
|
|
|
|
{
|
|
|
|
|
DataGridViewRow row = grid.SelectedRows[0];
|
|
|
|
|
for (int i = row.Index; i < grid.Rows.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
grid.Rows[i].Cells[0].Value = i + 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (int i = 1; i < grid.ColumnCount; i++)
|
|
|
|
|
{
|
|
|
|
|
grid.Rows[row.Index].Cells[i].Value = DBNull.Value;
|
|
|
|
|
}
|
|
|
|
|
grid.Rows[row.Index].Cells[0].Value = grid.Rows.Count;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 密炼步骤【插入】菜单事件处理程序
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="grid"></param>
|
|
|
|
|
private void toolStripMenuItem1_Click(MCDataGridView grid)
|
|
|
|
|
{
|
|
|
|
|
DataGridViewRow row = grid.SelectedRows[0];
|
|
|
|
|
#region 取当前行的上一行,目的是在当前行的上一行添加新行
|
|
|
|
|
if (row.Index > 0)
|
|
|
|
|
{
|
|
|
|
|
row = grid.Rows[row.Index - 1];
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
for (int i = row.Index + 1; i < grid.Rows.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
grid.Rows[i].Cells[0].Value = i + 2;
|
|
|
|
|
}
|
|
|
|
|
for (int i = 1; i < grid.ColumnCount; i++)
|
|
|
|
|
{
|
|
|
|
|
grid.Rows[grid.Rows.Count - 1].Cells[i].Value = DBNull.Value;
|
|
|
|
|
}
|
|
|
|
|
grid.Rows[grid.Rows.Count - 1].Cells[0].Value = row.Index + 2;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 密炼步骤【删除】菜单事件处理程序
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="grid"></param>
|
|
|
|
|
private void toolStripMenuItem2_Click(MCDataGridView grid)
|
|
|
|
|
{
|
|
|
|
|
toolStripMenuItem0_Click(grid);
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 密炼步骤【上移】菜单事件处理程序
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="grid"></param>
|
|
|
|
|
private void toolStripMenuItem3_Click(MCDataGridView grid)
|
|
|
|
|
{
|
|
|
|
|
DataGridViewRow row = grid.SelectedRows[0];
|
|
|
|
|
if (row.Index == 0)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
grid.Rows[row.Index].Cells[0].Value = row.Index;
|
|
|
|
|
grid.Rows[row.Index - 1].Cells[0].Value = row.Index + 1;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 密炼步骤【下移】菜单事件处理程序
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="grid"></param>
|
|
|
|
|
private void toolStripMenuItem4_Click(MCDataGridView grid)
|
|
|
|
|
{
|
|
|
|
|
DataGridViewRow row = grid.SelectedRows[0];
|
|
|
|
|
if (row.Index == grid.Rows.Count - 1)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
grid.Rows[row.Index].Cells[0].Value = row.Index + 2;
|
|
|
|
|
grid.Rows[row.Index + 1].Cells[0].Value = row.Index + 1;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 密炼步骤插入、删除、上移、下移处理
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
void toolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
MCDataGridView grid = (MCDataGridView)((ContextMenuStrip)(((ToolStripItem)(sender)).Owner)).SourceControl;
|
|
|
|
|
string ss = ((ToolStripItem)(sender)).Name;
|
|
|
|
|
if (ss.Equals("ToolStripMenuItem0", StringComparison.CurrentCultureIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
toolStripMenuItem0_Click(grid);
|
|
|
|
|
}
|
|
|
|
|
if (ss.Equals("ToolStripMenuItem1", StringComparison.CurrentCultureIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
toolStripMenuItem1_Click(grid); //密炼步骤【插入】
|
|
|
|
|
}
|
|
|
|
|
if (ss.Equals("ToolStripMenuItem2", StringComparison.CurrentCultureIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
toolStripMenuItem2_Click(grid); //密炼步骤【删除】
|
|
|
|
|
}
|
|
|
|
|
if (ss.Equals("ToolStripMenuItem3", StringComparison.CurrentCultureIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
toolStripMenuItem3_Click(grid); //密炼步骤【上移】
|
|
|
|
|
}
|
|
|
|
|
if (ss.Equals("ToolStripMenuItem4", StringComparison.CurrentCultureIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
toolStripMenuItem4_Click(grid); //密炼步骤【下移】
|
|
|
|
|
}
|
|
|
|
|
grid.Sort(grid.Columns[0], System.ComponentModel.ListSortDirection.Ascending);
|
|
|
|
|
#region 重置序号
|
|
|
|
|
for (int i = 0; i < grid.Rows.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
grid.Rows[i].Cells[0].Value = i + 1;
|
|
|
|
|
}
|
|
|
|
|
grid.AutoScrollOffset = new System.Drawing.Point(0, 0);
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
void dataGridView_SortCompare(object sender, DataGridViewSortCompareEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
DataGridView dgv = (DataGridView)sender;
|
|
|
|
|
e.SortResult = Convert.ToInt32(dgv.Rows[e.RowIndex1].Cells[0].Value.ToString()) -
|
|
|
|
|
Convert.ToInt32(dgv.Rows[e.RowIndex2].Cells[0].Value.ToString());
|
|
|
|
|
e.Handled = true;
|
|
|
|
|
}
|
|
|
|
|
void dataGridView_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (e.Button == MouseButtons.Right)
|
|
|
|
|
{
|
|
|
|
|
if (e.RowIndex >= 0)
|
|
|
|
|
{
|
|
|
|
|
DataGridView dgv = (DataGridView)sender;
|
|
|
|
|
dgv.ClearSelection();
|
|
|
|
|
dgv.Rows[e.RowIndex].Selected = true;
|
|
|
|
|
dgv.CurrentCell = dgv.Rows[e.RowIndex].Cells[e.ColumnIndex];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private void Is0ToNull(DataGridView dgv, int rowInx, int colInx)
|
|
|
|
|
{
|
|
|
|
|
if (rowInx >= 0 && colInx >= 0 && (dgv.Columns[colInx] is DataGridViewTextBoxColumn) && (
|
|
|
|
|
((DataGridViewTextBoxColumn)dgv.Columns[colInx]).ValueType == typeof(double) ||
|
|
|
|
|
((DataGridViewTextBoxColumn)dgv.Columns[colInx]).ValueType == typeof(decimal) ||
|
|
|
|
|
((DataGridViewTextBoxColumn)dgv.Columns[colInx]).ValueType == typeof(int)))
|
|
|
|
|
{
|
|
|
|
|
if (dgv.Rows[rowInx].Cells[colInx].Value != null
|
|
|
|
|
&& dgv.Rows[rowInx].Cells[colInx].Value != DBNull.Value)
|
|
|
|
|
{
|
|
|
|
|
double d = 0.0;
|
|
|
|
|
if (!double.TryParse(dgv.Rows[rowInx].Cells[colInx].Value.ToString(), out d))
|
|
|
|
|
{
|
|
|
|
|
dgv.CancelEdit();
|
|
|
|
|
}
|
|
|
|
|
else if (d == 0)
|
|
|
|
|
{
|
|
|
|
|
dgv.Rows[rowInx].Cells[colInx].Value = DBNull.Value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void dataGridView_CellValueChanged(object sender, DataGridViewCellEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
DataGridView dgv = (DataGridView)sender;
|
|
|
|
|
|
|
|
|
|
if (dgv.Columns[e.ColumnIndex].DataPropertyName == "child_name")
|
|
|
|
|
{
|
|
|
|
|
dgv.Rows[e.RowIndex].Cells[e.ColumnIndex + 1].Value = dgv.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
|
|
|
|
|
}
|
|
|
|
|
Is0ToNull(dgv, e.RowIndex, e.ColumnIndex);
|
|
|
|
|
}
|
|
|
|
|
void dataGridView_DataError(object sender, DataGridViewDataErrorEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
DataGridView dgv = (DataGridView)sender;
|
|
|
|
|
dgv.CancelEdit();
|
|
|
|
|
e.Cancel = true;
|
|
|
|
|
}
|
|
|
|
|
void dataGridView_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (string.IsNullOrWhiteSpace(e.FormattedValue.ToString()))
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
DataGridView dgv = (DataGridView)sender;
|
|
|
|
|
Is0ToNull(dgv, e.RowIndex, e.ColumnIndex);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|