private void LoadItemListByFGRCard()
        {
            if (this.ucLabelEditRCardFG.Value.Trim().Length == 0)
            {
                this.InitialItemListOfFGRCard();
                this.ucLabelEditRCardFG.TextFocus(false, true);
                return;
            }

            string rcard = FormatHelper.PKCapitalFormat(this.ucLabelEditRCardFG.Value.Trim());

            Messages messages = new Messages();

            ((SQLDomainDataProvider)DataProvider).PersistBroker.AutoCloseConnection = false;
            ((SQLDomainDataProvider)DataProvider).PersistBroker.OpenConnection();

            try
            {
                // Get Product Info
                messages = this.GetProduct(rcard);
                if (!messages.IsSuccess() || product == null || product.LastSimulation == null)
                {
                    ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Error, "$NoProductInfo"));
                    this.InitialItemListOfFGRCard();
                    this.ucLabelEditRCardFG.TextFocus(false, true);
                    return;
                }

                // Get Material by ItemCode
                ItemFacade itemFacade = new ItemFacade(this.DataProvider);
                object     material   = itemFacade.GetMaterial(product.LastSimulation.ItemCode, GlobalVariables.CurrentOrganizations.First().OrganizationID);
                if (material == null)
                {
                    ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Error, "$Error_CanNotFindItemInfo $ALERT_Item=" + product.LastSimulation.ItemCode));
                    this.InitialItemListOfFGRCard();
                    this.ucLabelEditRCardFG.TextFocus(false, true);
                    return;
                }
                // 设置Description
                this.labelItemDesc.Text = (material as BenQGuru.eMES.Domain.MOModel.Material).MaterialDescription;

                DataCollectFacade dcf         = new DataCollectFacade(this.DataProvider);
                object[]          versionList = dcf.GetOnWipSoftVersionList(rcard, product.LastSimulation.MOCode, product.LastSimulation.ItemCode);
                if (versionList == null || versionList.Length == 0)
                {
                    ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Error, "$Error_CanNotFindItemSoftVer_FG"));
                    this.InitialItemListOfFGRCard();
                    this.ucLabelEditRCardFG.TextFocus(false, true);
                    return;
                }

                OnWipSoftVer4Upgrade version;
                DataRow rowNew;
                this.m_MaterialList.Rows.Clear();
                this.m_MaterialList.AcceptChanges();
                foreach (OnWIPSoftVersion ver in versionList)
                {
                    version = dcf.GetOnWipSoftVersion(ver.RunningCard, ver.ItemCode);
                    if (version != null)
                    {
                        rowNew                    = this.m_MaterialList.NewRow();
                        rowNew["Checked"]         = "false";
                        rowNew["ItemCode"]        = version.ItemCode;
                        rowNew["ItemDescription"] = version.ItemDescription;
                        rowNew["RCard"]           = version.RunningCard;
                        rowNew["Version"]         = version.SoftwareVersion;

                        this.m_MaterialList.Rows.Add(rowNew);
                    }
                }
                this.m_MaterialList.AcceptChanges();

                if (this.m_MaterialList.Rows.Count > 0)
                {
                    //this.ultraGridMaterialList.DataSource = this.m_MaterialList;
                    this.ultraGridMaterialList.Rows[0].Cells["Checked"].Value = "true";
                    this.ultraGridMaterialList.UpdateData();
                    this.ucLabelEditRCard.TextFocus(true, true);
                }
                else
                {
                    ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Error, "$Error_CanNotFindItemSoftVer_FG"));
                    this.InitialItemListOfFGRCard();
                    this.ucLabelEditRCardFG.TextFocus(false, true);
                    return;
                }
            }
            catch (Exception ex)
            {
                ApplicationRun.GetInfoForm().Add(ex.Message);
                this.InitialItemListOfFGRCard();
                this.ucLabelEditRCardFG.TextFocus(false, true);
            }
            finally
            {
                ((SQLDomainDataProvider)DataProvider).PersistBroker.CloseConnection();
                ((SQLDomainDataProvider)DataProvider).PersistBroker.AutoCloseConnection = true;
            }
        }