/******************************************************************************* * 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 } }