Beispiel #1
0
        private void ConfigListDataBinding()
        {
            string strParamAlias = "";

            //초기화
            _llstSearchCondition.Clear();
            _llstSearchCondition.Add(Definition.CONDITION_KEY_MODEL_RAWID, this._sSPCModelRawid);
            _llstSearchCondition.Add(Definition.VARIABLE_USE_COMMA, _bUseComma);

            _dsSPCModeData         = _wsSPC.GetSPCModelData(_llstSearchCondition.GetSerialData());
            this._dsSPCProductData = _wsSPC.GetProductIDMappingData();

            if (!DSUtil.CheckRowCount(_dsSPCModeData, TABLE.MODEL_MST_SPC))
            {
                MSGHandler.DisplayMessage(MSGType.Information, "SPC_INFO_ALREADY_ELIMINATED", new string[] { _sSPCModelName }, null);
                return;
            }

            DataTable dtConfig  = _dsSPCModeData.Tables[TABLE.MODEL_CONFIG_MST_SPC];
            DataTable dtContext = _dsSPCModeData.Tables[TABLE.MODEL_CONTEXT_MST_SPC];
            DataTable dtRuleMst = _dsSPCModeData.Tables[TABLE.MODEL_RULE_MST_SPC];

            //#01. SPC Model Chart List를 위한 Datatable 생성
            DataTable dtSPCModelChartList = new DataTable();

            dtSPCModelChartList.Columns.Add(COLUMN.RAWID);
            dtSPCModelChartList.Columns.Add(COLUMN.PARAM_ALIAS);
            dtSPCModelChartList.Columns.Add(COLUMN.MAIN_YN);

            //CONTEXT COLUMN 생성
            DataRow[] drConfigs = dtConfig.Select(COLUMN.MAIN_YN + " = 'Y'", COLUMN.RAWID);

            if (drConfigs != null && drConfigs.Length > 0)
            {
                DataRow[] drMainContexts = dtContext.Select(string.Format("{0} = '{1}'", COLUMN.MODEL_CONFIG_RAWID, drConfigs[0][COLUMN.RAWID]), COLUMN.KEY_ORDER);

                foreach (DataRow drMainContext in drMainContexts)
                {
                    dtSPCModelChartList.Columns.Add(drMainContext["CONTEXT_KEY_NAME"].ToString());
                }
            }

            //2009-12-08 dkshin 추가 : CREATE_BY, CREATE_TIME COLUMN
            dtSPCModelChartList.Columns.Add(COLUMN.CREATE_BY);
            dtSPCModelChartList.Columns.Add(COLUMN.CREATE_DTTS);

            //#02. CONFIG MST에 생성된 CONTEXT COLUMN에 Data 입력
            foreach (DataRow drConfig in dtConfig.Rows)
            {
                DataRow drChartList = dtSPCModelChartList.NewRow();

                drChartList[COLUMN.RAWID]       = drConfig[COLUMN.RAWID].ToString();
                drChartList[COLUMN.PARAM_ALIAS] = drConfig[COLUMN.PARAM_ALIAS].ToString();
                drChartList[COLUMN.MAIN_YN]     = drConfig[COLUMN.MAIN_YN].ToString();

                if (strParamAlias == "")
                {
                    strParamAlias = drConfig[COLUMN.PARAM_ALIAS].ToString();
                }

                DataRow[] drContexts = dtContext.Select(string.Format("{0} = '{1}'", COLUMN.MODEL_CONFIG_RAWID, drConfig[COLUMN.RAWID]));

                foreach (DataRow drContext in drContexts)
                {
                    //2009-11-27 bskwon 추가 : Sub Model 상속 구조가 아닌경우 예외처리
                    if (!dtSPCModelChartList.Columns.Contains(drContext["CONTEXT_KEY_NAME"].ToString()))
                    {
                        dtSPCModelChartList.Columns.Add(drContext["CONTEXT_KEY_NAME"].ToString());
                    }

                    drChartList[drContext["CONTEXT_KEY_NAME"].ToString()] = drContext[COLUMN.CONTEXT_VALUE].ToString();
                }

                //MODEL 정보
                drChartList[COLUMN.CREATE_BY]   = drConfig[COLUMN.CREATE_BY].ToString();
                drChartList[COLUMN.CREATE_DTTS] = drConfig[COLUMN.CREATE_DTTS] == DBNull.Value ? null : DateTime.Parse(drConfig[COLUMN.CREATE_DTTS].ToString()).ToString(Definition.DATETIME_FORMAT_MS).ToString();
                dtSPCModelChartList.Rows.Add(drChartList);
            }

            dtSPCModelChartList.AcceptChanges();

            this.bsprData.DataSet = dtSPCModelChartList;

            for (int cIdx = 0; cIdx < this.bsprData.ActiveSheet.Columns.Count; cIdx++)
            {
                this.bsprData.ActiveSheet.Columns[cIdx].Width = this.bsprData.ActiveSheet.Columns[cIdx].GetPreferredWidth();
            }

            this.bsprProductData.DataSource = this._dsSPCProductData;

            for (int i = 0; i < this._dsSPCProductData.Tables[0].Rows.Count; i++)
            {
                this.srtLstProductID.Add(this._dsSPCProductData.Tables[0].Rows[i][0].ToString(), this._dsSPCProductData.Tables[0].Rows[i][1].ToString());
            }

            this.bsprData.Locked        = true;
            this.bsprProductData.Locked = true;
        }