/******************************************************************************* * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential * 类的信息: * 1.程序名称:F_RPT_020101_1.cs * 2.功能描述:产品跟踪表 * 编辑履历: * 作者 日期 版本 修改内容 * 袁新成 2015/4/9 1.00 新建 *******************************************************************************/ using System; using System.Data; using System.Windows.Forms; using Dongke.IBOSS.PRD.Basics.BaseResources; 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_020101_1 : DKDockPanelBase { #region 成员变量 // 窗体的单例模式 private static F_RPT_020101_1 _instance; //定义实体类 private SearchGoodsFollowingEntity searchGoodsFollowingEntity = new SearchGoodsFollowingEntity(); #endregion #region 构造函数 public F_RPT_020101_1() { InitializeComponent(); // 窗体显示的Title this.Text = FormTitles.F_RPT_020101; 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 #region 单例模式 /// /// 单例模式,防止重复创建窗体 /// public static F_RPT_020101_1 Instance { get { if (_instance == null || _instance.IsDisposed) { _instance = new F_RPT_020101_1(); } return _instance; } } #endregion #region 事件处理 /// /// 窗体加载事件 /// /// /// private void F_RPT_0201_1_Load(object sender, EventArgs e) { try { // 加载权限 FormPermissionManager.FormPermissionControl(this.Name, this, LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData, LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData); // 设置表格不自动创建列 this.dgvProductionFollowing.AutoGenerateColumns = false; this.dgvProductionDetail.AutoGenerateColumns = false; this.txtBarCode.Focus(); } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 自动适应列宽 /// /// /// private void tsbtnAdaptive_Click(object sender, EventArgs e) { this.dgvProductionFollowing.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); this.dgvProductionDetail.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); } /// /// 查询按钮事件 /// /// /// private void btnSearch_Click(object sender, EventArgs e) { try { if (!string.IsNullOrEmpty(this.txtBarCode.Text.Trim())) { //清空数据 this.dgvProductionDetail.DataSource = null; this.dgvProductionFollowing.DataSource = null; DataSet dsQuery = this.GetSearchData(); if (dsQuery != null) { if (dsQuery.Tables.Count > 1) { this.dgvProductionFollowing.DataSource = dsQuery.Tables[0]; DataTable detailTable = dsQuery.Tables[1]; DataColumn column = new DataColumn("ParentID"); detailTable.Columns.Add(column); for (int i = 0; i < detailTable.Rows.Count; i++) { detailTable.Rows[i]["ParentID"] = 0; } this.dgvProductionDetail.DataSource = detailTable; if (!this.radioNo.Checked && this.radioYes.Checked && dsQuery.Tables.Count > 2) { DataTable idnrkInformation = dsQuery.Tables[2]; DataTable newDatable = detailTable.Clone(); DataColumn columns = new DataColumn("IdnrkInformation"); newDatable.Columns.Add(columns); for (int i = 0; i < detailTable.Rows.Count; i++) { newDatable.ImportRow(detailTable.Rows[i]); for (int j = 0; j < idnrkInformation.Rows.Count; j++) { if (detailTable.Rows[i]["ProcedureName"].ToString() == idnrkInformation.Rows[j]["ProcedureName"].ToString()) { newDatable.ImportRow(idnrkInformation.Rows[j]); } } } this.dgvProductionDetail.DataSource = newDatable; } } else { this.dgvProductionFollowing.DataSource = dsQuery.Tables[0]; } } } else { MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "产品条码"), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); this.txtBarCode.Focus(); } } catch (Exception ex) { this.btnSearch.Enabled = true; // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 根据界面查询条件获取数据集 /// private DataSet GetSearchData() { try { RPT020101_SE se = new RPT020101_SE(); se.Barcode = this.txtBarCode.Text.Trim(); // 调用服务器端获取数据集 ServiceResultEntity sre = DoAsync(() => { return ReportModuleProxy.Service.GetRPT020101SData(se); } ); if (sre.Status == Constant.ServiceResultStatus.Success) { return sre.Data; } return null; } catch (Exception ex) { throw ex; } } /// /// 清空条件按钮事件 /// /// /// private void btnClearCondition_Click(object sender, EventArgs e) { this.txtBarCode.Text = string.Empty; } /// /// 窗体关闭事件 /// /// /// private void F_RPT_0201_1_FormClosed(object sender, FormClosedEventArgs e) { _instance = null; } /// /// 关闭按钮 /// /// /// private void tsbtnClose_Click(object sender, EventArgs e) { this.Close(); } /// /// 按回车查询 /// /// /// private void txtBarCode_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter && !string.IsNullOrEmpty(this.txtBarCode.Text.Trim())) { this.btnSearch_Click(null, null); } } #endregion /// /// 是否变化按钮 /// /// /// private void radioYes_CheckedChanged(object sender, EventArgs e) { if (this.radioYes.Checked) { this.radioNo.Checked = false; } else { this.radioNo.Checked = true; } } /// /// 是否变化按钮 /// /// /// private void radioNo_CheckedChanged(object sender, EventArgs e) { if (this.radioNo.Checked) { this.radioYes.Checked = false; } else { this.radioYes.Checked = true; } } } }