private void InitializeBSpread()
        {
            this._Initialization.InitializeColumnHeader(ref bsprRuleOpt, Definition.PAGE_KEY_SPC_CONFIGURATION, true, Definition.PAGE_KEY_SPC_CONFIGURATION_RULE_MASTER);
            this.bsprRuleOpt.UseHeadColor = true;
            this.bsprRuleOpt.UseAutoSort  = false;
            this.bsprRuleOpt.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded;
            this.bsprRuleOpt.VerticalScrollBarPolicy   = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded;

            string currentRuleNo = _sRuleDescription.Split('.')[0];

            _iColIdxRuleOptName = ((DataSet)bsprRuleOpt.DataSet).Tables[0].Columns.IndexOf(Definition.OPTION_NAME);
            _iColIdxValue       = ((DataSet)bsprRuleOpt.DataSet).Tables[0].Columns.IndexOf(Definition.RULE_OPTION_VALUE);

            this.bsprRuleOpt.UseGeneralContextMenu = false;
            this.bsprRuleOpt.ActiveSheet.Columns[_iColIdxValue].BackColor = Color.Yellow;

            DataSet   dsRuleOpt     = _wsSPC.GetSPCRuleMasterData(null);
            DataTable dtTempRuleOpt = dsRuleOpt.Tables[TABLE.RULE_OPT_MST_SPC];
            DataTable dtRuleOpt     = dtTempRuleOpt.Clone();

            DataRow[] drRuleOpts = dtTempRuleOpt.Select(string.Format("{0} = '{1}'", COLUMN.SPC_RULE_NO, currentRuleNo), COLUMN.RULE_OPTION_NO);

            foreach (DataRow drRuleOpt in drRuleOpts)
            {
                dtRuleOpt.ImportRow(drRuleOpt);
            }

            this.bsprRuleOpt.DataSet = dtRuleOpt;

            if (currentRuleNo.Equals("13") || currentRuleNo.Equals("14") || currentRuleNo.Equals("15") ||
                currentRuleNo.Equals("16") || currentRuleNo.Equals("17"))
            {
                DataRow dr = dtRuleOpt.NewRow();
                dr[Definition.OPTION_NAME]       = Definition.CHART_COLUMN.STDDEV;
                dr[Definition.DESCRIPTION]       = "Standard Deviation (Default = " + _dStd.ToString() + ")";
                dr[Definition.RULE_OPTION_VALUE] = _dStd.ToString();

                dtRuleOpt.Rows.Add(dr);
            }
            else if (currentRuleNo.Equals("41"))
            {
                DataRow dr = dtRuleOpt.NewRow();
                dr[Definition.OPTION_NAME]       = Definition.CHART_COLUMN.RAW_UCL;
                dr[Definition.DESCRIPTION]       = "Raw UCL (Default = " + _dRawUCL.ToString() + ")";
                dr[Definition.RULE_OPTION_VALUE] = _dRawUCL.ToString();

                dtRuleOpt.Rows.Add(dr);
            }
            else if (currentRuleNo.Equals("42"))
            {
                DataRow dr = dtRuleOpt.NewRow();
                dr[Definition.OPTION_NAME]       = Definition.CHART_COLUMN.RAW_LCL;
                dr[Definition.DESCRIPTION]       = "Raw LCL (Default = " + _dRawLCL.ToString() + ")";
                dr[Definition.RULE_OPTION_VALUE] = _dRawLCL.ToString();

                dtRuleOpt.Rows.Add(dr);
            }
            else if (currentRuleNo.Equals("43") || currentRuleNo.Equals("45"))
            {
                DataRow dr = dtRuleOpt.Rows[0];
                dr[Definition.DESCRIPTION]       = dr[Definition.DESCRIPTION].ToString() + " (Default = " + _dUTL.ToString() + ")";
                dr[Definition.RULE_OPTION_VALUE] = _dUTL.ToString();
            }
            else if (currentRuleNo.Equals("44") || currentRuleNo.Equals("46"))
            {
                DataRow dr = dtRuleOpt.Rows[0];
                dr[Definition.DESCRIPTION]       = dr[Definition.DESCRIPTION].ToString() + " (Default = " + _dLTL.ToString() + ")";
                dr[Definition.RULE_OPTION_VALUE] = _dLTL.ToString();
            }
            else if (currentRuleNo.Equals("9") || currentRuleNo.Equals("10") || currentRuleNo.Equals("47") ||
                     currentRuleNo.Equals("48"))
            {
                int trendValueRowIndex = 0;

                for (int i = 0; i < dtRuleOpt.Rows.Count; i++)
                {
                    DataRow drTemp = dtRuleOpt.Rows[i];

                    if (drTemp[Definition.OPTION_NAME].ToString().Contains(Definition.CHART_COLUMN.TREND_LIMIT))
                    {
                        trendValueRowIndex = i;
                        break;
                    }
                }

                DataRow dr = dtRuleOpt.Rows[trendValueRowIndex];
                //dr[Definition.OPTION_NAME] = Definition.CHART_COLUMN.TREND_LIMIT;

                dr[Definition.DESCRIPTION]       = dr[Definition.DESCRIPTION].ToString() + " (Default = " + _dTrendLimit.ToString() + ")";
                dr[Definition.RULE_OPTION_VALUE] = _dTrendLimit.ToString();
            }

            bsprRuleOpt.DataSet = dtRuleOpt;

            //입력이 안 되어야 하는 것들은 날려버리기
            if (bsprRuleOpt.ActiveSheet.RowCount > 0)
            {
                //int count = bsprRuleOpt.ActiveSheet.RowCount;

                for (int i = 0; i < bsprRuleOpt.ActiveSheet.RowCount; i++)
                {
                    string optionName = this.bsprRuleOpt.ActiveSheet.Cells[i, _iColIdxRuleOptName].Text;

                    if (optionName == "Center line" || optionName == "LCL" || optionName == "UCL" ||
                        optionName == "USL" || optionName == "LSL" || optionName == "zone A" ||
                        optionName == "zone B" || optionName == "zone C" || optionName == "lambda")
                    {
                        this.bsprRuleOpt.ActiveSheet.RemoveRows(i, 1);
                        i--;
                    }
                    else
                    {
                        this.bsprRuleOpt.ActiveSheet.Cells[i, _iColIdxValue].Locked = false;
                    }
                }
            }
        }