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; }