/*******************************************************************************
* Copyright(c) 2014 dongke All rights reserved. / Confidential
* 类的信息:
* 1.程序名称:F_MST_0302.cs
* 2.功能描述:窑车管理
* 编辑履历:
* 作者 日期 版本 修改内容
* 任海 2014/09/01 1.00 新建
*******************************************************************************/
using System;
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using Dongke.IBOSS.PRD.Basics.BaseResources;
using Dongke.IBOSS.PRD.Client.CommonModule;
using Dongke.IBOSS.PRD.Basics.BaseControls;
using Dongke.IBOSS.PRD.WCF.Proxys;
using Dongke.IBOSS.PRD.Basics.Library;
using Dongke.IBOSS.PRD.Client.DataModels;
namespace Dongke.IBOSS.PRD.Client.SystemModule
{
///
/// 窑车管理
///
public partial class F_MST_0302 : FormBase
{
#region 成员变量
// 窗体的单例模式
private static F_MST_0302 _instance;
// 窑炉Treeview改变前的状态
private Hashtable _nodesStatus = new Hashtable();
// 窑炉TreeView选中节点的路径
private string _selectNodeFullPath;
// 窑炉TreeView选中节点的名称
private string _selectNode;
// 窑炉数据源
private DataTable _dtSourse;
#endregion
#region 属性
///
/// 窑炉TreeView改变前的状态
///
public Hashtable NodesStatus
{
get
{
return _nodesStatus;
}
set
{
_nodesStatus = value;
}
}
///
/// 窑炉TreeView选中节点的路径
///
public string SelectNodeFullPath
{
get
{
return _selectNodeFullPath;
}
set
{
_selectNodeFullPath = value;
}
}
#endregion
#region 构造函数
///
/// 窗体的构造函数
///
public F_MST_0302()
{
InitializeComponent();
// 窗体标题文字
this.Text = FormTitles.F_MST_0302;
// 按钮
this.btnSave.Text = ButtonText.BTN_SAVE;
this.btnCancel.Text = ButtonText.BTN_CLOSE;
}
#endregion
#region 单例模式
///
/// 单例模式,防止重复创建窗体
///
public static F_MST_0302 Instance
{
get
{
if (_instance == null)
{
_instance = new F_MST_0302();
}
return _instance;
}
}
#endregion
#region 事件
///
/// 窗体加载时发生
///
///
///
private void F_MST_0302_Load(object sender, EventArgs e)
{
try
{
FormPermissionManager.FormPermissionControl(this.Name, this,
LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData, LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData);
// 设置保存按钮初始是不可点击
this.btnSave.Enabled = false;
// 生成窑车树形结构
this.CreateKilnTree();
this.GetAllKilnCar();
this.RefreshDataGridViewData();
this.dgvKilnCar.IsSetInputColumnsColor = true;
this.dgvKilnCar.SelectionMode = DataGridViewSelectionMode.RowHeaderSelect;
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 节点收缩之后,显示关闭图标
///
///
///
private void tvwKiln_AfterCollapse(object sender, TreeViewEventArgs e)
{
e.Node.SelectedImageIndex = Constant.INT_IS_ZERO;
e.Node.ImageIndex = Constant.INT_IS_ZERO;
}
///
/// 节点展开之后,显示打开图标
///
///
///
private void tvwKiln_AfterExpand(object sender, TreeViewEventArgs e)
{
e.Node.SelectedImageIndex = Constant.INT_IS_TWO;
e.Node.ImageIndex = Constant.INT_IS_TWO;
}
///
/// 选中新行时,设置默认值
///
///
///
private void dgvKiln_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
// 设置有效列为选中状态
e.Row.Cells["ValueFlag"].Value = Constant.INT_IS_ONE;
// 增加一行时,给窑炉赋值
e.Row.Cells["KilnID"].Value = tvwkiln.SelectedNode.Tag.ToString();
}
///
/// 选择窑炉TreeView中的节点前判断,如果数据有改变提示保存
///
///
///
private void tvwKiln_BeforeSelect(object sender, TreeViewCancelEventArgs e)
{
try
{
// 判断数据是否被修改过,修改过需要提示保存消息
if (DataJudge.IsChange((DataTable)this.dgvKilnCar.DataSource))
{
DialogResult dialogResult = MessageBox.Show(Messages.MSG_CMN_Q001, this.Text,
MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (dialogResult == DialogResult.Yes)
{
int rowCount = (int)DoAsync(new BaseAsyncMethod(SaveKilnCarData));
// 保存数据后提示
if (rowCount > Constant.INT_IS_ZERO)
{
// 保存数据成功
this.btnSave.Enabled = false;
//this._dtSourse.AcceptChanges();
MessageBox.Show(string.Format(Messages.MSG_CMN_I001, "窑车", "保存"),
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
// 生成窑车树形结构
TreeNode selectedNode = this.tvwkiln.SelectedNode;
this.tvwkiln.SelectedNode = selectedNode;
// 还原保存前窑炉TreeView的状态
SetTreeNodesStatus(this.tvwkiln.Nodes);
}
else
{
// 保存数据失败
MessageBox.Show(string.Format(Messages.MSG_CMN_W001, "窑车", "保存"),
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
else if (dialogResult == DialogResult.Cancel)
{
e.Cancel = true;
}
}
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 选择窑炉TreeView中的节点,DataGridView中显示相应的数据
///
///
///
private void tvwkiln_AfterSelect(object sender, TreeViewEventArgs e)
{
try
{
// 刷新DataGridView中的数据
//this._dtSourse.AcceptChanges();
this.GetAllKilnCar();
this.RefreshDataGridViewData();
this.dgvKilnCar.IsSetInputColumnsColor = true;
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 单元格输入是否重复的校验
///
///
///
private void dgvKilnCar_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
try
{
if (this.ActiveControl != null && "btnClose".Equals(this.ActiveControl.Name))
{
return;
}
//判断是否存在相同的编码
if (!this.dgvKilnCar.CurrentRow.IsNewRow)
{
DataGridViewRow rowItem = this.dgvKilnCar.Rows[e.RowIndex];
DataGridViewColumn columnItem = this.dgvKilnCar.Columns[e.ColumnIndex];
object value = rowItem.Cells[columnItem.Name].EditedFormattedValue;
// 窑车编码
if ("KilnCarCode".Equals(columnItem.Name))
{
if (value != null || !string.IsNullOrEmpty(value.ToString().Trim()))
{
if (!this.IsUnique(value.ToString(), this.dgvKilnCar.CurrentRow.Index))
{
// 增加单元格的错误消息
this.dgvKilnCar.CurrentRow.ErrorText
= string.Format(Messages.MSG_CMN_W006, "窑车编码");
e.Cancel = true;
return;
}
}
}
// 清除单元格的错误消息
this.dgvKilnCar.CurrentRow.ErrorText = string.Empty;
}
this.dgvKilnCar.IsSetInputColumnsColor = true;
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 行离开时校验不能为空的项目
///
///
///
private void dgvKilnCar_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
{
try
{
// 按Esc键时不校验
if (!this.dgvKilnCar.IsCurrentRowDirty)
{
this.dgvKilnCar.IsSetInputColumnsColor = true;
return;
}
DataGridViewRow row = this.dgvKilnCar.CurrentRow;
if (!row.IsNewRow)
{
// 窑车名称不能为空
if (row.Cells["KilnCarName"].Value == null
|| string.IsNullOrEmpty(row.Cells["KilnCarName"].Value.ToString().Trim()))
{
// 增加单元格的错误消息
this.dgvKilnCar.CurrentRow.ErrorText
= string.Format(Messages.MSG_CMN_W005, "窑车名称");
e.Cancel = true;
return;
}
// 过滤多余空格
row.Cells["KilnCarName"].Value = row.Cells["KilnCarName"].Value.ToString().Trim();
row.Cells["Remarks"].Value = row.Cells["Remarks"].Value.ToString().Trim();
// 清除单元格的错误消息
this.dgvKilnCar.CurrentRow.ErrorText = string.Empty;
}
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 设置保存按钮的可用状态
///
///
///
private void dgvKilnCar_CellValidated(object sender, DataGridViewCellEventArgs e)
{
try
{
this.RefreshSaveBtnStatus();
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 设置保存按钮的可用状态
///
///
///
private void dgvKilnCar_RowValidated(object sender, DataGridViewCellEventArgs e)
{
try
{
this.RefreshSaveBtnStatus();
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 显示停用记录事件
///
///
///
private void chkDisplayDisabledData_CheckedChanged(object sender, EventArgs e)
{
try
{
this.RefreshDataGridViewData();
this.RefreshSaveBtnStatus();
this.dgvKilnCar.IsSetInputColumnsColor = true;
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 单元格输入时,给自动生成的行设置颜色
///
///
///
private void dgvKilnCar_UserAddedRow(object sender, DataGridViewRowEventArgs e)
{
this.dgvKilnCar.IsSetInputColumnsColor = true;
}
///
/// 自动生成窑车种类编码
///
///
///
private void Table_SelectNewRow(object sender, DataTableNewRowEventArgs e)
{
try
{
DataTable itemTable = sender as DataTable;
if (itemTable != null && itemTable.Rows.Count > Constant.INT_IS_ZERO)
{
e.Row["KilnID"] = this.tvwkiln.SelectedNode.Name;
}
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 保存窑车种类数据
///
///
///
private void btnSave_Click(object sender, EventArgs e)
{
try
{
//判断保存时单元格必输项不能为空
int results = Conservation();
if (results == Constant.INT_IS_ONE)
{
MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "窑车编码"),
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.btnSave.Enabled = false;
return;
}
if (results == Constant.INT_IS_TWO)
{
MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "窑车名称"),
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.btnSave.Enabled = false;
return;
}
// 异步处理
this.btnSave.Enabled = false;
this.btnCancel.Enabled = false;
int result = (int)DoAsync(new BaseAsyncMethod(SaveKilnCarData));
this.btnSave.Enabled = true;
this.btnCancel.Enabled = true;
// 窑车数据保存成功
if (result == Constant.INT_IS_TWO)
{
MessageBox.Show(string.Format(Messages.MSG_CMN_I001, "窑车", "保存"),
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
// 加载窑车管理数据
this._dtSourse.AcceptChanges();
this.btnSave.Enabled = false;
}
//存在相同窑车编码
else if (result == Constant.INT_IS_ONE)
{
MessageBox.Show(string.Format(Messages.MSG_CMN_W006, "窑车编码"),
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
// 保存失败
else
{
MessageBox.Show(string.Format(Messages.MSG_CMN_W001, "窑车", "保存"),
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
// 重新加载窗体数据
//this.RefreshData();
this.GetAllKilnCar();
this.RefreshDataGridViewData();
this.dgvKilnCar.IsSetInputColumnsColor = true;
}
catch (Exception ex)
{
this.btnSave.Enabled = true;
this.btnCancel.Enabled = true;
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 关闭窗体
///
///
///
private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
}
///
/// 关闭窗体,如果有数据变化提示保存
///
///
///
private void FrmGoodsKind_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
// 判断数据是否被修改过,如果修改过则提示保存
if (DataJudge.IsChange((DataTable)this.dgvKilnCar.DataSource))
{
DialogResult dialogResult = MessageBox.Show(Messages.MSG_CMN_Q001, this.Text,
MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
// 保存改变的数据
if (dialogResult == DialogResult.Yes)
{
DataGridViewRow row = dgvKilnCar.CurrentRow;
if (!row.IsNewRow)
{
// 判断窑车编码不能为空
if (row.Cells["KilnCarCode"].Value == null
|| string.IsNullOrEmpty(row.Cells["KilnCarCode"].Value + string.Empty))
{
// 错误消息
MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "窑车编码"),
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
e.Cancel = true;
this.btnSave.Enabled = false;
return;
}
// 判断窑车名称不能为空
if (row.Cells["KilnCarName"].Value == null
|| string.IsNullOrEmpty(row.Cells["KilnCarName"].Value + string.Empty))
{
// 单元格的错误消息
MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "窑车名称"),
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
e.Cancel = true;
this.btnSave.Enabled = false;
return;
}
}
int resultCount = (int)DoAsync(new BaseAsyncMethod(SaveKilnCarData));
//存在相同窑车编码
if (resultCount.Equals(Constant.INT_IS_ONE))
{
MessageBox.Show(string.Format(Messages.MSG_CMN_W006, "窑车编码"),
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
e.Cancel = true;
this.btnSave.Enabled = false;
return;
}
// 保存后提示
if (resultCount > Constant.INT_IS_ZERO)
{
MessageBox.Show(string.Format(Messages.MSG_CMN_I001, "窑车", "保存"),
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
//存在相同窑车编码
else if (Convert.ToInt16(dialogResult) == Constant.RETURN_IS_EXIST)
{
e.Cancel = true;
btnSave.Enabled = false;
MessageBox.Show(string.Format(Messages.MSG_CMN_W006, "窑车编码"),
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
{
// 保存失败
e.Cancel = true;
MessageBox.Show(string.Format(Messages.MSG_CMN_W001, "窑车", "保存"),
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
else if (dialogResult == DialogResult.Cancel)
{
e.Cancel = true;
}
}
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 窗体关闭后,释放单例资源
///
///
///
private void FrmGoodsKind_FormClosed(object sender, FormClosedEventArgs e)
{
_instance = null;
}
///
/// 设置排序时列表的颜色
///
private void dgvKilnCar_Sorted(object sender, EventArgs e)
{
this.dgvKilnCar.IsSetInputColumnsColor = true;
}
#endregion
#region 私有方法
///
/// 取得窑炉数据
///
///
private DataSet GetKilnData()
{
try
{
return SystemModuleProxy.Service.GetKilnData(0);
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 按条件取得窑车数据
///
///
private DataSet GetKilnCarByKilnID()
{
try
{
byte valueFlag = Convert.ToByte(this.chkDisplayDisabledData.Checked);
return SystemModuleProxy.Service.GetKilnCarData(valueFlag, this._selectNode);
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 获取窑车管理的全部数据
///
/// 用户信息
///
///
/// 2014.10.31 任海 新建
///
private void GetAllKilnCar()
{
try
{
DataSet dsResultAccount = (DataSet)DoAsync(new BaseAsyncMethod(() =>
{
return SystemModuleProxy.Service.GetAllKilnCarInfo();
}));
this._dtSourse = dsResultAccount.Tables[0];
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 得到窑车信息
///
///
private void RefreshDataGridViewData()
{
try
{
StringBuilder sbstr = new StringBuilder();
sbstr.Append(" 1=1");
//未选中停用标识,显示正常数据
if (this.chkDisplayDisabledData.Checked == false)
{
sbstr.Append(" and ValueFlag=1");
}
//选中树的节点把窑车Id加到查询条件中
if (this.tvwkiln.SelectedNode != null)
{
sbstr.Append(" and KilnId=" + this.tvwkiln.SelectedNode.Name);
}
this._dtSourse.DefaultView.RowFilter = sbstr.ToString();
this.dgvKilnCar.DataSource = this._dtSourse;
this.btnSave.Enabled = false;
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 保存窑车数据
///
/// 影响行数
private object SaveKilnCarData()
{
try
{
// 获取当前datatKilnData数据源
DataTable datatKilnCarData = (DataTable)this.dgvKilnCar.DataSource;
int result = SystemModuleProxy.Service.SaveKilnCarData(datatKilnCarData);
return result;
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 根据取得的窑炉数据,生成树形结构
///
private void CreateKilnTree()
{
try
{
this.tvwkiln.BeforeSelect -= tvwKiln_BeforeSelect;
this.tvwkiln.AfterSelect -= tvwkiln_AfterSelect;
// 取得窑炉数据
DataSet kilnData = (DataSet)DoAsync(new BaseAsyncMethod(GetKilnData));
// 没有窑炉数据时,直接返回
if (kilnData == null || kilnData.Tables[0].Rows.Count < Constant.INT_IS_ONE)
{
return;
}
if (this.tvwkiln.Nodes.Count > Constant.INT_IS_ZERO)
{
// 添加节点前,保存状态
this.SaveTreeNodesStatus(this.tvwkiln.Nodes);
}
// 将所有节点清除
this.tvwkiln.Nodes.Clear();
TreeNode kilnNode = null;
DataRow[] kilnRows = kilnData.Tables[0].Select();
// 显示子节点
InitTreeView(kilnData.Tables[0], kilnRows, kilnNode);
this.dgvKilnCar.IsSetInputColumnsColor = true;
this.tvwkiln.BeforeSelect += tvwKiln_BeforeSelect;
this.tvwkiln.AfterSelect += tvwkiln_AfterSelect;
}
catch (Exception ex)
{
this.tvwkiln.BeforeSelect += tvwKiln_BeforeSelect;
this.tvwkiln.AfterSelect += tvwkiln_AfterSelect;
throw ex;
}
}
///
/// 递归显示窑炉树形目录
///
/// 窑炉类数据源
///
///
private void InitTreeView(DataTable kilnData, DataRow[] rows, TreeNode node)
{
try
{
foreach (DataRow row in rows)
{
TreeNode sNode = null;
if (node == null)
{
// 新建树节点并添加
sNode = new TreeNode();
sNode.Text = row["KilnName"].ToString();
sNode.Name = row["KilnID"].ToString();
sNode.Tag = row["KilnID"].ToString();
this.tvwkiln.Nodes.Add(sNode);
}
else
{
// 在原有树中加入节点
sNode = node.Nodes.Add(row["KilnName"].ToString());
sNode.Name = row["KilnID"].ToString();
sNode.Tag = row["KilnID"].ToString();
}
}
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 保存窑炉TreeView的状态
///
///
private void SaveTreeNodesStatus(TreeNodeCollection nodes)
{
try
{
foreach (TreeNode node in nodes)
{
// 保存所有节点折叠,展开状态
if (node.IsExpanded)
{
this.NodesStatus[node.FullPath] = true;
}
else
{
this.NodesStatus.Remove(node.FullPath);
}
// 当节点处于选中状态时获取根树节点到当前树节点的路径
if (node.IsSelected)
{
SelectNodeFullPath = node.FullPath;
}
SaveTreeNodesStatus(node.Nodes);
}
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 还原保存前窑炉TreeView的状态
///
/// 节点
private void SetTreeNodesStatus(TreeNodeCollection nodes)
{
try
{
foreach (TreeNode node in nodes)
{
if (this.NodesStatus[node.FullPath] != null)
{
// 展开树节点
node.Expand();
}
// 节点路径和前选中的路径相同 设置节点为选中状态
if (node.FullPath == SelectNodeFullPath)
{
this.tvwkiln.SelectedNode = node;
}
SetTreeNodesStatus(node.Nodes);
}
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 刷新DataGridView中的数据
///
private void RefreshData()
{
try
{
// 获取相应节点数据
if (this.tvwkiln.SelectedNode != null
&& !string.IsNullOrEmpty(this.tvwkiln.SelectedNode.Name.Trim()))
{
this._selectNode = this.tvwkiln.SelectedNode.Name.Trim();
base.DataSource = (DataSet)DoAsync(new BaseAsyncMethod(GetKilnCarByKilnID));
this.dgvKilnCar.AllowUserToAddRows = true;
if (this.DataSource != null && this.DataSource.Tables.Count > Constant.INT_IS_ZERO)
{
// 选中新行时,自动计算窑车种类编码
base.DataSource.Tables[0].TableNewRow +=
new DataTableNewRowEventHandler(Table_SelectNewRow);
this.dgvKilnCar.DataSource = this.DataSource.Tables[0];
this.dgvKilnCar.IsSetInputColumnsColor = true;
}
}
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 校验值是否重复
///
///
///
///
private bool IsUnique(string curCellValue, int curRow)
{
//待修改
foreach (DataGridViewRow rowItem in this.dgvKilnCar.Rows)
{
if (rowItem.Index == curRow)
{
continue;
}
// 窑车编码
if (rowItem.Cells["KilnCarCode"].Value != null)
{
if (rowItem.Cells["KilnCarCode"].Value.ToString().TrimEnd().
Equals(curCellValue.TrimEnd()))
{
return false;
}
}
}
return true;
}
///
/// 设置保存按钮的可用状态
///
private void RefreshSaveBtnStatus()
{
// 数据有改变时,保存按钮可用,否则不可用
if (DataJudge.IsChange((DataTable)this.dgvKilnCar.DataSource))
{
this.btnSave.Enabled = true;
}
else
{
this.btnSave.Enabled = false;
}
}
///
/// 保存时单元格必输项不能为空
///
private int Conservation()
{
int isConservation = Constant.INT_IS_ZERO;
//判断窑车编码,名称不能为空
DataTable datatJobsData = (DataTable)this.dgvKilnCar.DataSource;
foreach (DataRow drproductionData in datatJobsData.Rows)
{
if (drproductionData["KilnCarCode"].ToString() == string.Empty)
{
isConservation = Constant.INT_IS_ONE;
break;
}
if (drproductionData["KilnCarName"].ToString() == string.Empty)
{
isConservation = Constant.INT_IS_TWO;
break;
}
}
return isConservation;
}
#endregion
private void dgvKilnCar_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox tb = (e.Control as TextBox);
if (tb != null)
{
if ("KilnCarCode" == this.dgvKilnCar.Columns[this.dgvKilnCar.CurrentCell.ColumnIndex].Name)
{
tb.CharacterCasing = CharacterCasing.Upper;
}
else
{
tb.CharacterCasing = CharacterCasing.Normal;
}
}
}
}
}