Пример #1
0
        ///方法
        private void BindData()
        {
            string strPartId     = txtPartId.Text.Trim();
            string strPartType   = txtPartType.Text.Trim();
            string strPartModule = txtMoudle.Text.Trim();
            string strPartClass  = txtClass.Text.Trim();
            ByProductPartEntity ByProductPartEntity = new ByProductPartEntity();
            PagingQueryConfig   config = new PagingQueryConfig()
            {
                PageNo   = pgnQueryResult.PageNo,
                PageSize = pgnQueryResult.PageSize
            };
            DataSet dsReturn = ByProductPartEntity.GetByFourParameters(strPartId, strPartType, strPartModule, strPartClass, ref config);

            pgnQueryResult.Pages   = config.Pages;
            pgnQueryResult.Records = config.Records;
            if (!string.IsNullOrEmpty(ByProductPartEntity.ErrorMsg))
            {
                MessageService.ShowMessage(ByProductPartEntity.ErrorMsg);
                return;
            }
            if (dsReturn.Tables.Count > 0)
            {
                gcList.DataSource = dsReturn.Tables[0].DefaultView;
                gcList.MainView   = gvList;
                gvList.BestFitColumns();
            }
        }
Пример #2
0
        private void ByProductPartForm_Load(object sender, EventArgs e)
        {
            ByProductPartEntity byProductPartEntity = new ByProductPartEntity();

            txtPartId.Focus();
            txtPartId.SelectAll();
            gridPartNum.DisplayMember = "PART_NUMBER";
            gridPartNum.ValueMember   = "PART_NUMBER";
            gridPartNum.DataSource    = byProductPartEntity.GetByPartId().Tables[0];
            gvPartView.BestFitColumns();
        }
Пример #3
0
        private void gvList_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            if (e.Column.ColumnEditName == "gridPartNum")
            {
                string partItemNum = (e.RowHandle + 1).ToString();
                string partNum     = e.Value.ToString();
                ByProductPartEntity byProductPartEntity = new ByProductPartEntity();
                DataTable           dtParM = byProductPartEntity.CheckPart(partNum).Tables[0];
                //if (Convert.ToInt32(partItemNum) < 4)
                //{
                GetRules();
                DataTable dtPro = new DataTable();
                dtPro = GetRules();
                for (int j = 0; j < dtPro.Rows.Count; j++)
                {
                    DataRow drPro = dtPro.Rows[j];
                    if (drPro["ITEMNO"].ToString().Trim() == partItemNum && drPro["MODULE"].ToString().Trim() == dtParM.Rows[0]["PART_MODULE"].ToString().Trim())
                    {
                        if (string.IsNullOrEmpty(dtPro.Rows[j]["MINPOWER"].ToString().Trim()))
                        {
                            gvList.SetRowCellValue(e.RowHandle, "MIN_POWER", null);
                        }
                        else
                        {
                            gvList.SetRowCellValue(e.RowHandle, "MIN_POWER", dtPro.Rows[j]["MINPOWER"].ToString().Trim());
                        }

                        if (string.IsNullOrEmpty(dtPro.Rows[j]["MAXPOWER"].ToString().Trim()))
                        {
                            gvList.SetRowCellValue(e.RowHandle, "MAX_POWER", null);
                        }
                        else
                        {
                            gvList.SetRowCellValue(e.RowHandle, "MAX_POWER", dtPro.Rows[j]["MAXPOWER"].ToString().Trim());
                        }
                        gvList.SetRowCellValue(e.RowHandle, "PART_DESC", dtParM.Rows[0]["PART_DESC"].ToString().Trim());
                        break;
                    }
                    else
                    {
                        gvList.SetRowCellValue(e.RowHandle, "PART_DESC", dtParM.Rows[0]["PART_DESC"].ToString().Trim());
                        gvList.SetRowCellValue(e.RowHandle, "MIN_POWER", null);
                        gvList.SetRowCellValue(e.RowHandle, "MAX_POWER", null);
                    }
                }
            }
        }
Пример #4
0
        private void spbDel_Click(object sender, EventArgs e)
        {
            if (txtPartId.Enabled == true)
            {
                //MessageService.ShowMessage("当前没有信息可以删除,请确认!", "${res:Global.SystemInfo}");
                MessageService.ShowMessage(StringParser.Parse("${res:FanHai.Hemera.Addins.ByProductPartForm.msg.0009}"), StringParser.Parse("${res:Global.SystemInfo}"));
                return;
            }
            ByProductPartEntity byProductPartEntity = new ByProductPartEntity();

            //if (MessageService.AskQuestion("确定删除吗?", "系统提示"))
            if (MessageService.AskQuestion(StringParser.Parse("${res:FanHai.Hemera.Addins.ByProductPartForm.msg.0010}"), StringParser.Parse("${res:Global.SystemInfo}")))
            {//系统提示你确定要删除吗?
                if (byProductPartEntity.Delete(txtPartId.Text.ToString().Trim()))
                {
                    OnAfterStateChanged(ControlState.New);
                }
            }
        }
Пример #5
0
        private void gvList_MasterRowGetChildList(object sender, DevExpress.XtraGrid.Views.Grid.MasterRowGetChildListEventArgs e)
        {
            DataRow             dr     = this.gvList.GetDataRow(e.RowHandle);
            string              partid = Convert.ToString(dr["PART_ID"]);
            ByProductPartEntity byProductPartEntity = new ByProductPartEntity();
            DataSet             dsReturn            = byProductPartEntity.GetByPartId(partid);

            if (!string.IsNullOrEmpty(byProductPartEntity.ErrorMsg))
            {
                MessageService.ShowMessage(byProductPartEntity.ErrorMsg);
                return;
            }
            DataTable dtChild = new DataTable();

            //判定获取数据是否为空
            if (dsReturn != null || dsReturn.Tables.Count > 0)
            {
                dtChild = dsReturn.Tables[0];
                //遍历查询结果
                for (int i = 0; i < dtChild.Rows.Count; i++)
                {
                    string   gradesOut     = string.Empty;
                    string   gradesOutUsed = string.Empty;
                    string   grades        = dtChild.Rows[i]["GRADES"].ToString().Trim(); ///获取等级列信息
                    string[] arrTemp       = grades.Split(',');                           ///数组取值(等级组所有等级)
                    for (int j = 0; j < arrTemp.Length; j++)
                    {
                        gradesOut += GetProductGradeDisplayText(arrTemp[j]) + ",";               ///调用等级转换将转换数据重新组合,并用逗号隔开
                    }
                    gradesOutUsed             = gradesOut.Remove(gradesOut.LastIndexOf(","), 1); ///去掉最后的,号
                    dtChild.Rows[i]["GRADES"] = gradesOutUsed;                                   ///列重新赋值
                }
                e.ChildList = dtChild.DefaultView;
            }
            else
            {
                e.ChildList = dsReturn.Tables[0].DefaultView;
            }
        }
Пример #6
0
        void ExportExcel(object obj)
        {
            this.Invoke(new MethodInvoker(() =>
            {
                this.lblMsg.Visible = true;
                //this.lblMsg.Text = string.Format("正在执行导出EXCEL,请勿关闭界面,等待...");
                this.lblMsg.Text = string.Format(StringParser.Parse("${res:FanHai.Hemera.Addins.ByProductPartCtrl.msg.0001}"));
                //this.tableLayoutPanelMain.Enabled = false;
                //原来的tablelayout控件变更为splitcontrol
                this.splitContainerControl1.Enabled = false;
            }));

            try
            {
                object[] objs     = obj as object[];
                DataView dv       = objs[0] as DataView;
                string   fileName = objs[1] as string;

                DataTable dtExportExcel = new DataTable();
                dtExportExcel.TableName = "Sheet1";
                Dictionary <string, string> dicColumns = new Dictionary <string, string>()
                {
                    { "MODULE", "组件类型" },
                    { "PARTNUMBER_01", "主料号" },
                    { "PARTDESC_01", "物料描述" },
                    { "REMARK_01", "备注" },
                    { "PARTNUMBER_02", "第一联副产品" },
                    { "PARTDESC_02", "物料描述" },
                    { "REMARK_02", "备注" },
                    { "PARTNUMBER_03", "第二联副产品" },
                    { "PARTDESC_03", "物料描述" },
                    { "REMARK_03", "备注" },
                    { "PARTNUMBER_04", "第三联副产品" },
                    { "PARTDESC_04", "物料描述" },
                    { "REMARK_04", "备注" },
                    { "CREATE_TIME", "创建时间" }
                };

                foreach (string colName in dicColumns.Keys)
                {
                    DataColumn dc = dtExportExcel.Columns.Add(colName);
                    dc.Caption = dicColumns[colName];
                }

                foreach (DataRowView drv in dv)
                {
                    string  partid = Convert.ToString(drv["PART_ID"]);
                    DataRow dr     = dtExportExcel.NewRow();
                    dr["MODULE"]        = drv["PART_MODULE"];
                    dr["PARTNUMBER_01"] = partid;
                    dr["PARTDESC_01"]   = drv["PART_DESC"];

                    ByProductPartEntity byProductPartEntity = new ByProductPartEntity();
                    DataSet             dsReturn            = byProductPartEntity.GetByPartId(partid);
                    if (string.IsNullOrEmpty(byProductPartEntity.ErrorMsg) &&
                        dsReturn.Tables.Count > 0)
                    {
                        DataTable dtChild = dsReturn.Tables[0];
                        //遍历查询结果
                        for (int i = 0; i < dtChild.Rows.Count; i++)
                        {
                            DataRow drChild           = dtChild.Rows[i];
                            string  partNumber        = Convert.ToString(drChild["PART_NUMBER"]);
                            int     itemNo            = Convert.ToInt32(drChild["ITEM_NO"]);
                            string  partNumberColName = string.Format("PARTNUMBER_{0}", itemNo.ToString("00"));
                            string  partDescColName   = string.Format("PARTDESC_{0}", itemNo.ToString("00"));
                            string  remarkColName     = string.Format("REMARK_{0}", itemNo.ToString("00"));

                            string   remark    = string.Empty;
                            string   gradesOut = string.Empty;
                            string   grades    = drChild["GRADES"].ToString().Trim(); //获取等级列信息
                            string[] arrTemp   = grades.Split(',');                   //数组取值(等级组所有等级)
                            for (int j = 0; j < arrTemp.Length; j++)
                            {
                                gradesOut += GetProductGradeDisplayText(arrTemp[j]) + ",";  //调用等级转换将转换数据重新组合,并用逗号隔开
                            }
                            gradesOut = gradesOut.TrimEnd(',');
                            if (string.IsNullOrEmpty(gradesOut))
                            {
                                gradesOut = "无要求";
                            }

                            string minPower = Convert.ToString(drChild["MIN_POWER"]);
                            string maxPower = Convert.ToString(drChild["MAX_POWER"]);
                            string power    = string.Empty;
                            if (!string.IsNullOrEmpty(minPower))
                            {
                                power += string.Format("≥{0}", minPower);
                            }
                            if (!string.IsNullOrEmpty(maxPower))
                            {
                                power += string.Format("<{0}", maxPower);
                            }
                            if (string.IsNullOrEmpty(power))
                            {
                                power = "无要求";
                            }

                            string storeLocation = Convert.ToString(drChild["STORAGE_LOCATION"]);
                            //remark = string.Format("等级要求:{0};功率要求:{1};建议库位:{2};",
                            remark = string.Format(StringParser.Parse("${res:FanHai.Hemera.Addins.ByProductPartCtrl.msg.0003}"),
                                                   gradesOut,
                                                   power,
                                                   storeLocation);

                            dr[partNumberColName] = partNumber;
                            dr[partDescColName]   = drChild["PART_DESC"];
                            dr[remarkColName]     = remark;
                            if (partNumber == partid)
                            {
                                dr["CREATE_TIME"] = drChild["CREATE_TIME"];
                            }
                        }
                    }
                    dtExportExcel.Rows.Add(dr);
                }
                Export.ExportToExcel(fileName, dtExportExcel);
            }
            catch (Exception ex)
            {
                //MessageService.ShowError(string.Format("导出EXCEL失败:{0}", ex.Message));
                MessageService.ShowError(string.Format(StringParser.Parse("${res:FanHai.Hemera.Addins.ByProductPartCtrl.msg.0002}"), ex.Message));
            }
            finally
            {
                this.Invoke(new MethodInvoker(() =>
                {
                    this.lblMsg.Visible = false;
                    this.lblMsg.Text    = string.Empty;
                    //this.tableLayoutPanelMain.Enabled = true;
                    //原来的tablelayout控件变更为splitcontrol
                    this.splitContainerControl1.Enabled = true;
                }));
            }
        }
Пример #7
0
        public ByProductPartForm(ControlState control, string partNum)
        {
            InitializeComponent();
            _partNum = partNum;
            OnAfterStateChanged(control);
            InitializeLanguage();
            //lcPeople.Text = "当前操作用户:" + PropertyService.Get(PROPERTY_FIELDS.USER_NAME_MZ);
            lcPeople.Text = StringParser.Parse("${res:FanHai.Hemera.Addins.ByProductPartForm.lbl.0010}") + PropertyService.Get(PROPERTY_FIELDS.USER_NAME_MZ);
            if (!string.IsNullOrEmpty(_partNum))
            {
                ByProductPartEntity byProductPartEntity = new ByProductPartEntity();
                DataSet             dsGetByPartId       = byProductPartEntity.GetByPartId(_partNum);
                DataTable           dtGetByPartId       = new DataTable();
                DataTable           dsGetByPartId2      = new DataTable();
                dtGetByPartId  = dsGetByPartId.Tables["POR_PART_BYPRODUCT"];
                dsGetByPartId2 = dsGetByPartId.Tables["POR_PART"];
                //if (!dtGetByPartId.Columns.Contains("ROWNUMBER"))
                //    dtGetByPartId.Columns.Add("ROWNUMBER");
                if (dtGetByPartId.Rows.Count > 0)
                {
                    //for (int i = 0; i < dtGetByPartId.Rows.Count; i++)
                    //{
                    //    dtGetByPartId.Rows[i]["ROWNUMBER"] = i + 1;
                    //}
                    //如果存在且已经有对应料号则带出所有的对应料号信息

                    //遍历查询结果
                    for (int i = 0; i < dtGetByPartId.Rows.Count; i++)
                    {
                        string   gradesOut     = string.Empty;
                        string   gradesOutUsed = string.Empty;
                        string   grades        = dtGetByPartId.Rows[i]["GRADES"].ToString().Trim(); ///获取等级列信息
                        string[] arrTemp       = grades.Split(',');                                 ///数组取值(等级组所有等级)
                        for (int j = 0; j < arrTemp.Length; j++)
                        {
                            gradesOut += GetProductGradeDisplayText(arrTemp[j]) + ",";   ///调用等级转换将转换数据重新组合,并用逗号隔开
                        }
                        gradesOutUsed = gradesOut.Remove(gradesOut.LastIndexOf(","), 1); ///去掉最后的,号
                        dtGetByPartId.Rows[i]["GRADES"] = gradesOutUsed;
                    }///列重新赋值

                    gcList.DataSource = dtGetByPartId;
                    txtDesc.Text      = dsGetByPartId2.Rows[0]["PART_DESC"].ToString().Trim();
                    txtPartId.Text    = dsGetByPartId2.Rows[0]["PART_ID"].ToString().Trim();
                    OnAfterStateChanged(ControlState.Edit);
                }
                else
                {
                    //如果存在但未进行绑定联副产品则带出首条对应料号即为主料号
                    DataRow dr = dtGetByPartId.NewRow();
                    dr["ITEM_NO"]     = "1";
                    dr["PART_NUMBER"] = _partNum;

                    DataTable dtPro = new DataTable();
                    dtPro = GetRules();
                    for (int j = 0; j < dtPro.Rows.Count; j++)
                    {
                        DataRow drPro = dtPro.Rows[j];
                        if (drPro["ITEMNO"].ToString().Trim() == "1" && drPro["MODULE"].ToString().Trim() == dsGetByPartId2.Rows[0]["PART_MODULE"].ToString().Trim())
                        {
                            string   gradesOut     = string.Empty;
                            string   gradesOutUsed = string.Empty;
                            string   grades        = dtPro.Rows[j]["GRADES"].ToString().Trim(); ///获取等级列信息
                            string[] arrTemp       = grades.Split(',');                         ///数组取值(等级组所有等级)
                            for (int i = 0; i < arrTemp.Length; i++)
                            {
                                gradesOut += GetProductGradeDisplayText(arrTemp[i]) + ",";   ///调用等级转换将转换数据重新组合,并用逗号隔开
                            }
                            gradesOutUsed = gradesOut.Remove(gradesOut.LastIndexOf(","), 1); ///去掉最后的,号

                            dr["GRADES"] = gradesOutUsed;                                    ///列重新赋值
                                                                                             ///
                            if (!string.IsNullOrEmpty(dtPro.Rows[j]["MINPOWER"].ToString().Trim()))
                            {
                                dr["MIN_POWER"] = dtPro.Rows[j]["MINPOWER"].ToString().Trim();
                            }

                            if (!string.IsNullOrEmpty(dtPro.Rows[j]["MAXPOWER"].ToString().Trim()))
                            {
                                dr["MAX_POWER"] = dtPro.Rows[j]["MAXPOWER"].ToString().Trim();
                            }
                            dr["STORAGE_LOCATION"] = dtPro.Rows[j]["STORAGE"].ToString().Trim();
                        }
                    }
                    dr["PART_DESC"] = dsGetByPartId2.Rows[0]["PART_DESC"].ToString().Trim();

                    dtGetByPartId.Rows.Add(dr);
                    gcList.DataSource = dtGetByPartId;
                    txtDesc.Text      = dsGetByPartId2.Rows[0]["PART_DESC"].ToString().Trim();
                    txtPartId.Text    = dsGetByPartId2.Rows[0]["PART_ID"].ToString().Trim();
                    OnAfterStateChanged(ControlState.Edit);
                }
            }
        }
Пример #8
0
        private void sbtSave_Click(object sender, EventArgs e)
        {
            if (gvList.DataSource == null)
            {
                //MessageService.ShowMessage("没有要保存的数据!", "${res:Global.SystemInfo}");
                MessageService.ShowMessage(StringParser.Parse("${res:FanHai.Hemera.Addins.ByProductPartForm.msg.0004}"), StringParser.Parse("${res:Global.SystemInfo}"));
                return;
            }
            if (string.IsNullOrEmpty(txtPartId.Text.Trim()))
            {
                //MessageService.ShowMessage("请输入产品料号,然后回车!", "${res:Global.SystemInfo}");
                MessageService.ShowMessage(StringParser.Parse("${res:FanHai.Hemera.Addins.ByProductPartForm.msg.0005}"), StringParser.Parse("${res:Global.SystemInfo}"));
                return;
            }
            try
            {
                //if (MessageBox.Show(StringParser.Parse("是否保存当前联副产品的信息?"),
                if (MessageBox.Show(StringParser.Parse("${res:FanHai.Hemera.Addins.ByProductPartForm.msg.0006}"),
                                    StringParser.Parse("${res:Global.SystemInfo}"), MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    if (this.gvList.State == GridState.Editing && this.gvList.IsEditorFocused && this.gvList.EditingValueModified)
                    {
                        this.gvList.SetFocusedRowCellValue(this.gvList.FocusedColumn, this.gvList.EditingValue);
                    }
                    this.gvList.UpdateCurrentRow();
                    string name = PropertyService.Get(PROPERTY_FIELDS.USER_NAME_MZ);
                    ByProductPartEntity byProductPartEntity = new ByProductPartEntity();
                    DataTable           dtGvlist            = ((DataView)gvList.DataSource).Table;
                    for (int i = 0; i < dtGvlist.Rows.Count; i++)
                    {
                        string   grades    = dtGvlist.Rows[i]["GRADES"].ToString().Trim(); ///获取等级列信息
                        string   gradesOut = string.Empty;
                        string[] arrTemp   = grades.Split(',');                            ///数组取值(等级组所有等级)
                        for (int j = 0; j < arrTemp.Length; j++)
                        {
                            gradesOut += GetProductGrade(arrTemp[j]) + ",";       ///调用等级转换将转换数据重新组合,并用逗号隔开
                        }
                        grades = gradesOut.Remove(gradesOut.LastIndexOf(","), 1); ///去掉最后的,号
                        dtGvlist.Rows[i]["GRADES"] = grades;
                    }
                    string  partNum  = txtPartId.Text.Trim();
                    DataSet dsReturn = byProductPartEntity.GetInfFromPorPartAndProductPart(name, partNum, dtGvlist);
                    if (dsReturn.Tables.Count > 0)
                    {
                        if (dsReturn.Tables["OUTPUT_PARAM_TABLE"].Rows[0]["CODE"].ToString().Trim() == "0")
                        {
                            MessageService.ShowMessage(StringParser.Parse("${res:FanHai.Hemera.Addins.ByProductPartForm.msg.0007}"), StringParser.Parse("${res:Global.SystemInfo}"));//保存成功
                            ByProductPartEntity proentity      = new ByProductPartEntity();
                            DataSet             dsGetByPartId  = proentity.GetByPartId(partNum);
                            DataTable           dtGetByPartId  = new DataTable();
                            DataTable           dsGetByPartId2 = new DataTable();
                            dtGetByPartId  = dsGetByPartId.Tables["POR_PART_BYPRODUCT"];
                            dsGetByPartId2 = dsGetByPartId.Tables["POR_PART"];
                            //if (!dtGetByPartId.Columns.Contains("ITEM_NO"))
                            //    dtGetByPartId.Columns.Add("ITEM_NO");
                            //for (int i = 0; i < dtGetByPartId.Rows.Count; i++)
                            //{
                            //    dtGetByPartId.Rows[i]["ROWNUMBER"] = i + 1;
                            //}
                            //如果存在且已经有对应料号则带出所有的对应料号信息

                            //遍历查询结果
                            for (int i = 0; i < dtGetByPartId.Rows.Count; i++)
                            {
                                string   gradesOut     = string.Empty;
                                string   gradesOutUsed = string.Empty;
                                string   grades        = dtGetByPartId.Rows[i]["GRADES"].ToString().Trim(); ///获取等级列信息
                                string[] arrTemp       = grades.Split(',');                                 ///数组取值(等级组所有等级)
                                for (int j = 0; j < arrTemp.Length; j++)
                                {
                                    gradesOut += GetProductGradeDisplayText(arrTemp[j]) + ",";   ///调用等级转换将转换数据重新组合,并用逗号隔开
                                }
                                gradesOutUsed = gradesOut.Remove(gradesOut.LastIndexOf(","), 1); ///去掉最后的,号
                                dtGetByPartId.Rows[i]["GRADES"] = gradesOutUsed;
                            }///列重新赋值

                            gcList.DataSource = dtGetByPartId;
                            txtDesc.Text      = dsGetByPartId2.Rows[0]["PART_DESC"].ToString().Trim();
                            OnAfterStateChanged(ControlState.Edit);

                            return;
                        }
                        else
                        {
                            MessageService.ShowMessage(dsReturn.Tables["OUTPUT_PARAM_TABLE"].Rows[0]["MESSAGE"].ToString().Trim(), StringParser.Parse("${res:Global.SystemInfo}"));
                            return;
                        }
                    }
                    else
                    {
                        MessageService.ShowMessage(StringParser.Parse("${res:FanHai.Hemera.Addins.ByProductPartForm.msg.0008}"), StringParser.Parse("${res:Global.SystemInfo}"));//保存输入时服务端异常,联系管理员!
                        return;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageService.ShowMessage(ex.Message, StringParser.Parse("${res:Global.SystemInfo}"));
                return;
            }
        }
Пример #9
0
        private void txtPartId_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 13)
            {
                try
                {
                    string  partId      = string.Empty;
                    DataSet dsCheckPart = new DataSet();
                    //chack料号是否存在且可用
                    ByProductPartEntity byProductPartEntity = new ByProductPartEntity();
                    partId      = txtPartId.Text.Trim();
                    dsCheckPart = byProductPartEntity.CheckPart(partId);
                    if (dsCheckPart.Tables[0].Rows.Count > 0)
                    {
                        DataSet   dsGetByPartId  = byProductPartEntity.GetByPartId(partId);
                        DataTable dtGetByPartId  = new DataTable();
                        DataTable dsGetByPartId2 = new DataTable();
                        dtGetByPartId  = dsGetByPartId.Tables["POR_PART_BYPRODUCT"];
                        dsGetByPartId2 = dsGetByPartId.Tables["POR_PART"];
                        //if (!dtGetByPartId.Columns.Contains("ROWNUMBER"))
                        //    dtGetByPartId.Columns.Add("ROWNUMBER");
                        if (dtGetByPartId.Rows.Count > 0)
                        {
                            //for (int i = 0; i < dtGetByPartId.Rows.Count; i++)
                            //{
                            //    dtGetByPartId.Rows[i]["ROWNUMBER"] = i + 1;
                            //}
                            //如果存在且已经有对应料号则带出所有的对应料号信息

                            //遍历查询结果
                            for (int i = 0; i < dtGetByPartId.Rows.Count; i++)
                            {
                                string   gradesOut     = string.Empty;
                                string   gradesOutUsed = string.Empty;
                                string   grades        = dtGetByPartId.Rows[i]["GRADES"].ToString().Trim(); ///获取等级列信息
                                string[] arrTemp       = grades.Split(',');                                 ///数组取值(等级组所有等级)
                                for (int j = 0; j < arrTemp.Length; j++)
                                {
                                    gradesOut += GetProductGradeDisplayText(arrTemp[j]) + ",";   ///调用等级转换将转换数据重新组合,并用逗号隔开
                                }
                                gradesOutUsed = gradesOut.Remove(gradesOut.LastIndexOf(","), 1); ///去掉最后的,号
                                dtGetByPartId.Rows[i]["GRADES"] = gradesOutUsed;
                            }///列重新赋值

                            gcList.DataSource = dtGetByPartId;
                            txtDesc.Text      = dsGetByPartId2.Rows[0]["PART_DESC"].ToString().Trim();
                            OnAfterStateChanged(ControlState.Edit);
                        }
                        else
                        {
                            //如果存在但未进行绑定联副产品则带出首条对应料号即为主料号
                            DataRow dr = dtGetByPartId.NewRow();
                            dr["ITEM_NO"]     = "1";
                            dr["PART_NUMBER"] = partId;

                            DataTable dtPro = new DataTable();
                            dtPro = GetRules();
                            for (int j = 0; j < dtPro.Rows.Count; j++)
                            {
                                DataRow drPro = dtPro.Rows[j];
                                if (drPro["ITEMNO"].ToString().Trim() == "1" && drPro["MODULE"].ToString().Trim() == dsGetByPartId2.Rows[0]["PART_MODULE"].ToString().Trim())
                                {
                                    string   gradesOut     = string.Empty;
                                    string   gradesOutUsed = string.Empty;
                                    string   grades        = dtPro.Rows[j]["GRADES"].ToString().Trim(); ///获取等级列信息
                                    string[] arrTemp       = grades.Split(',');                         ///数组取值(等级组所有等级)
                                    for (int i = 0; i < arrTemp.Length; i++)
                                    {
                                        gradesOut += GetProductGradeDisplayText(arrTemp[i]) + ",";   ///调用等级转换将转换数据重新组合,并用逗号隔开
                                    }
                                    gradesOutUsed = gradesOut.Remove(gradesOut.LastIndexOf(","), 1); ///去掉最后的,号

                                    dr["GRADES"] = gradesOutUsed;                                    ///列重新赋值
                                                                                                     ///if (string.IsNullOrEmpty(dtPro.Rows[j]["MINPOWER"].ToString().Trim()))
                                    if (!string.IsNullOrEmpty(dtPro.Rows[j]["MINPOWER"].ToString().Trim()))
                                    {
                                        dr["MIN_POWER"] = dtPro.Rows[j]["MINPOWER"].ToString().Trim();
                                    }

                                    if (!string.IsNullOrEmpty(dtPro.Rows[j]["MAXPOWER"].ToString().Trim()))
                                    {
                                        dr["MAX_POWER"] = dtPro.Rows[j]["MAXPOWER"].ToString().Trim();
                                    }

                                    dr["STORAGE_LOCATION"] = dtPro.Rows[j]["STORAGE"].ToString().Trim();
                                }
                            }
                            dr["PART_DESC"] = dsGetByPartId2.Rows[0]["PART_DESC"].ToString().Trim();

                            dtGetByPartId.Rows.Add(dr);
                            gcList.DataSource = dtGetByPartId;
                            txtDesc.Text      = dsGetByPartId2.Rows[0]["PART_DESC"].ToString().Trim();
                            OnAfterStateChanged(ControlState.Edit);
                        }
                    }
                    else
                    {
                        //如果不存在料号则提示料号不存在,请先进行料号维护
                        //MessageBox.Show("料号不存在,请先进行料号维护,然后执行此操作!", "系统错误提示");
                        MessageBox.Show(StringParser.Parse("${res:FanHai.Hemera.Addins.ByProductPartForm.msg.0001}"), StringParser.Parse("${res:Global.SystemInfo}"));

                        txtPartId.Focus();
                        txtPartId.SelectAll();
                        return;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, StringParser.Parse("${res:Global.SystemInfo}"));
                }
            }
        }