/*******************************************************************************
* Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
* 类的信息:
* 1.程序名称:F_MST_1302.cs
* 2.功能描述:新增/编辑员工关联
* 编辑履历:
* 作者 日期 版本 修改内容
* 王鑫 2014/09/12 1.00 新建
*******************************************************************************/
using System;
using System.Data;
using System.Windows.Forms;
using Dongke.IBOSS.PRD.WCF.Proxys;
using Dongke.IBOSS.PRD.WCF.Proxys.SystemModuleService;
using Dongke.IBOSS.PRD.Basics.BaseControls;
using Dongke.IBOSS.PRD.Client.CommonModule;
using Dongke.IBOSS.PRD.Client.Controls;
using Dongke.IBOSS.PRD.Basics.BaseResources;
using Dongke.IBOSS.PRD.WCF.DataModels;
namespace Dongke.IBOSS.PRD.Client.SystemModule
{
///
/// 新增/编辑员工关联
///
public partial class F_MST_1302 : FormBase
{
#region 成员变量
private string _userCodeValue;
#endregion
#region 属性
public DataRow drWorkStation
{
get;
set;
}
public DataTable dtWorkStationUser
{
get;
set;
}
#endregion
#region 构造函数
public F_MST_1302()
{
InitializeComponent();
btnSave.Text = ButtonText.BTN_SAVE;
btnCancel.Text = ButtonText.BTN_CLOSE;
}
#endregion
#region 事件
///
/// 窗体加载事件
///
///
///
private void F_MST_1302_Load(object sender, EventArgs e)
{
try
{
txtWorkStationName.Text = drWorkStation["WorkStationName"] + "";
dgvUser.AutoGenerateColumns = false;
dgvUser.Columns["UserName"].ReadOnly = true;
dgvUser.Columns["OrganizationName"].ReadOnly = true;
dgvUser.DataSource = dtWorkStationUser;
dgvUser.IsSetInputColumnsColor = true;
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 保存按钮事件
///
///
///
private void btnSave_Click(object sender, EventArgs e)
{
try
{
txtWorkStationName.Focus();
dtWorkStationUser.AcceptChanges();
// 异步处理
ClientRequestEntity cre = new ClientRequestEntity();
cre.NameSpace = "F_MST_1302";
cre.Name = "SaveWorkStationUser";
cre.Properties["workststionid"] = Convert.ToInt32(drWorkStation["workstationid"]);
cre.Data = new DataSet();
cre.Data.Tables.Add(dtWorkStationUser.Copy());
ServiceResultEntity sre = (ServiceResultEntity)DoAsync(
() => { return SystemModuleProxy.Service.DoRequest(cre); });
if (sre.OtherStatus > 0)
{
MessageBox.Show(string.Format(Messages.MSG_CMN_I001, "工位工号配置", "保存"),
Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
DialogResult = DialogResult.OK;
}
else if (sre.OtherStatus < 0 && !string.IsNullOrEmpty(sre.Message))
{
MessageBox.Show(string.Format(Messages.MSG_CMN_W007, sre.Message),
Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show(string.Format(Messages.MSG_CMN_W001, "工位工号配置", "保存"),
Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 取消按钮事件
///
///
///
private void btnCancel_Click(object sender, EventArgs e)
{
Close();
}
///
/// 单元格改变事件
///
///
///
private void dgvFunctionUsers_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
try
{
if (this.dgvUser.Rows.Count <= 1)
{
return;
}
DataGridViewRow rowItem = this.dgvUser.Rows[e.RowIndex];
DataGridViewColumn columnItem = this.dgvUser.Columns[e.ColumnIndex];
string OrganizationName = this.dgvUser.Rows[e.RowIndex].Cells["OrganizationName"].Value.ToString();
// 用编号获取产品信息
if ("UserCode".Equals(columnItem.Name))
{
DataTable dtNew = FormUtility.BindUserRowDataSource(this.dgvUser,
e.RowIndex, columnItem.Name, _userCodeValue);
if (dtNew != null && dtNew.Rows.Count > 0)
{
foreach (DataRow r in dtNew.Rows)
{
DataRow[] isR = this.dtWorkStationUser.Select("UserID=" + r["UserID"]);
if (isR.Length == 0)
{
DataRow drNew = this.dtWorkStationUser.NewRow();
drNew["UserID"] = r["UserID"];
drNew["UserCode"] = r["UserCode"];
drNew["UserName"] = r["UserName"];
drNew["OrganizationName"] = r["OrganizationName"];
drNew["AddFlag"] = 1;
this.dtWorkStationUser.Rows.Add(drNew);
dgvUser.Rows[e.RowIndex].Cells["UserCode"].ReadOnly = true;
}
}
}
this.btnSave.Enabled = true;
// 设置可输入单元格的颜色
this.dgvUser.IsSetInputColumnsColor = true;
}
}
catch (Exception ex)
{
//_ShowFlag = true;
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 单元格编辑前事件
///
///
///
private void dgvFunctionUsers_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
{
try
{
if (this.dgvUser.Rows.Count <= 1)
{
return;
}
DataGridViewColumn columnItem = this.dgvUser.Columns[e.ColumnIndex];
if ("UserCode".Equals(columnItem.Name))
{
_userCodeValue = this.dgvUser.Rows[e.RowIndex].Cells[columnItem.Name].Value + "";
}
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 单元格排序事件
///
///
///
private void dgvFunctionUsers_Sorted(object sender, EventArgs e)
{
BindReadOnly();
}
#endregion
#region 私有方法
///
/// 绑定原来数据只能删除不能编辑
///
private void BindReadOnly()
{
foreach (DataGridViewRow row in this.dgvUser.Rows)
{
if (row.Cells["AddFlag"].Value != null)
{
//if (row.Cells["AddFlag"].Value.ToString() == "0")
//{
row.Cells["UserCode"].ReadOnly = true;
//}
}
}
this.dgvUser.IsSetInputColumnsColor = true;
}
#endregion
}
}