/******************************************************************************* * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential * 类的信息: * 1.程序名称:F_RPT_020104.cs * 2.功能描述:窑车状态表 * 编辑履历: * 作者 日期 版本 修改内容 * 王鑫 2015/06/15 1.00 新建 *******************************************************************************/ using System; using System.Data; using System.Windows.Forms; using Dongke.IBOSS.PRD.Basics.BaseResources; using Dongke.IBOSS.PRD.Basics.DockPanel; using Dongke.IBOSS.PRD.Client.CommonModule; using Dongke.IBOSS.PRD.Client.Controls; using Dongke.IBOSS.PRD.Client.DataModels; using Dongke.IBOSS.PRD.WCF.DataModels; using Dongke.IBOSS.PRD.WCF.DataModels.ReportModule; using Dongke.IBOSS.PRD.WCF.Proxys; namespace Dongke.IBOSS.PRD.Client.ReportModule { public partial class F_RPT_020104 : DKDockPanelBase { #region 成员变量 // 窗体的单例模式 private static F_RPT_020104 _instance; //默认窑炉选定值(清空按钮所用) private int _clearKilnValue = -1; // 当前选择的行 private int _selectedRowIndex; #endregion #region 构造函数 /// /// 构造函数 /// public F_RPT_020104() { InitializeComponent(); SetFromTitleInfo();//设置按钮文本 } #endregion #region 单例模式 /// /// 单例模式,防止重复创建窗体 /// public static F_RPT_020104 Instance { get { if (_instance == null || _instance.IsDisposed) { _instance = new F_RPT_020104(); } return _instance; } } #endregion #region 事件 /// /// 窗体加载事件 /// /// /// private void F_RPT_020104_Load(object sender, EventArgs e) { try { // 设置表格不自动创建列 this.dgvKilnCar.AutoGenerateColumns = false; this.dgvKilnCarDetail.AutoGenerateColumns = false; this.dgvKilnCarDetail.AutoGenerateColumns = false; // 加载权限 FormPermissionManager.FormPermissionControl(this.Name, this, LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData, LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData); // 窑炉编码 DataSet dsKiln = (DataSet)DoAsync(new AsyncMethod(() => { return SystemModuleProxy.Service.GetKilnData(0); })); this.cmbKiln.DisplayMember = "KilnCode"; this.cmbKiln.ValueMember = "KilnID"; this.cmbKiln.DataSource = dsKiln.Tables[0]; if (dsKiln.Tables[0].Rows.Count > 0) { this._clearKilnValue = Convert.ToInt32(dsKiln.Tables[0].Rows[0]["KilnID"]); } } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 自动适应列宽 /// /// /// private void tsbtnAdaptive_Click(object sender, EventArgs e) { this.dgvKilnCar.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); this.dgvKilnCarDetail.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); this.dgvKilnCarGoods.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); } /// /// 窗体关闭事件 /// /// /// private void F_RPT_020104_FormClosed(object sender, FormClosedEventArgs e) { _instance = null; } /// /// 关闭按钮事件 /// /// /// private void tsbtnClose_Click(object sender, EventArgs e) { this.Close(); } /// /// 清空按钮事件 /// /// /// private void btnClearCondition_Click(object sender, EventArgs e) { this.txtKilnCarCode.Text = string.Empty; this.cmbKiln.SelectedValue = this._clearKilnValue; } /// /// 查询按钮事件 /// /// /// private void btnSearch_Click(object sender, EventArgs e) { try { //没有对应的生产线权限,返回 因为有无责任工序,则可以不用分配工序的权限,不分配,只能查无责任工序 if (string.IsNullOrEmpty(this.cmbKiln.Text.Trim())) { MessageBox.Show("窑炉编码必须填写", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } this._selectedRowIndex = 0; // 记录当前选中行 int selectRowIndex = this._selectedRowIndex; // 异步处理 this.btnSearch.Enabled = false; this.btnClearCondition.Enabled = false; string KilnCode = this.cmbKiln.Text.Trim(); ServiceResultEntity sre = (ServiceResultEntity)DoAsync(new AsyncMethod(() => { return ReportModuleProxy.Service.GetKilnCarStatusByCode(KilnCode, this.txtKilnCarCode.Text.Trim() == "" ? "" : KilnCode + this.txtKilnCarCode.Text.Trim()); })); this.btnSearch.Enabled = true; this.btnClearCondition.Enabled = true; if (sre.Status == Constant.ServiceResultStatus.Success) { // 控制明细不查询 this.Tag = false; this.dgvKilnCar.DataSource = sre.Data.Tables[0]; this.dgvKilnCar.Rows[selectRowIndex].Selected = true; this.dgvKilnCar.CurrentCell = this.dgvKilnCar.Rows[selectRowIndex].Cells["kilncode1"]; this.Tag = true; dgvKilnCar_SelectionChanged(null, null); this.dgvKilnCar.Focus(); } else { // 提示未查找到数据 MessageBox.Show(Messages.MSG_CMN_I002, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { this.btnSearch.Enabled = true; this.btnClearCondition.Enabled = true; // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 主表选定项发生改变时 /// /// /// private void dgvKilnCar_SelectionChanged(object sender, EventArgs e) { try { // 在绑定总表时 不查询明细 if (!Convert.ToBoolean(this.Tag) || this.dgvKilnCar.CurrentCell == null) { return; } // 选中行时查询明细 else { if (this.txtKilnCarCode.ReadOnly) { return; } //this.dgvKilnCar.Enabled = false; this._selectedRowIndex = this.dgvKilnCar.CurrentCell.RowIndex; this.dgvKilnCarDetail.DataSource = null; this.dgvKilnCarGoods.DataSource = null; string kilncarcode1 = this.dgvKilnCar.Rows[_selectedRowIndex].Cells["kilncarcode1"].Value.ToString(); ServiceResultEntity sre = (ServiceResultEntity)DoAsync(new AsyncMethod(() => { return ReportModuleProxy.Service.GetKilnCarStatusDetailByCode(kilncarcode1); })); if (sre.Status == Constant.ServiceResultStatus.Success) { this.dgvKilnCarDetail.DataSource = sre.Data.Tables[0]; this.dgvKilnCarGoods.DataSource = sre.Data.Tables[1]; this.dgvKilnCar.Focus(); } } } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } finally { this.dgvKilnCar.Enabled = true; } } #endregion #region 私有方法 /// /// 设置窗体按钮的文本信息 /// private void SetFromTitleInfo() { this.Text = FormTitles.F_RPT_020104; this.tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE; this.tsbtnClose.Text = ButtonText.TSBTN_CLOSE; this.btnSearch.Text = ButtonText.BTN_SEARCH; this.btnClearCondition.Text = ButtonText.BTN_CLEARCONDITION; //查询条件 this.gbxCondition.Text = Constant.LABEL_QUERY_CONDITIONS; } #endregion } }