private bool SaveEstJobColumnMap(bool isBlank) { Biz_JobColumnMaps jobColumnMap = new Biz_JobColumnMaps(); DataTable dataTable = jobColumnMap.GetDataTableSchema(); if (!isBlank) { dataTable = UltraGridUtility.GetDataTableByCheckValue(UltraWebGrid2 , "cBox" , "selchk" , new string[] { "EST_JOB_ID" } , dataTable); foreach (DataRow dataRow in dataTable.Rows) { dataRow["COMP_ID"] = COMP_ID; dataRow["EST_ID"] = EST_ID; dataRow["COL_KEY"] = txtColKey.Text; dataRow["DATE"] = DateTime.Now; dataRow["USER"] = EMP_REF_ID; } } return(jobColumnMap.SaveJobColumnMap(dataTable, COMP_ID, EST_ID, txtColKey.Text)); }
private void BindEstJob(int comp_id, string est_id, string col_key) { if (!est_id.Equals("")) { Biz_JobColumnMaps jobColumnMap = new Biz_JobColumnMaps(); _dtEstColumnMap = jobColumnMap.GetJobColumnMap(comp_id, est_id, "", col_key).Tables[0]; } Biz_JobInfos jobInfo = new Biz_JobInfos(); UltraWebGrid2.DataSource = jobInfo.GetJobInfoInEstJobMaps(comp_id, est_id, "N"); UltraWebGrid2.DataBind(); }
/// <summary> /// 평가 페이지에서 EST_ID에 따라서 컬럼을 동적으로 생성한다. /// </summary> /// <param name="ultraWebGrid"></param> /// <param name="est_id"></param> /// <param name="default_index_count"></param> /// <param name="dataTable"></param> public static void CreateColumns(UltraWebGrid ultraWebGrid , int comp_id , string est_id , int default_index_count , out DataTable dataTable , string owner_type , string[] est_job_ids , string dept_column_no_use_yn) { Biz_ColumnInfos columnInfo = new Biz_ColumnInfos(); Biz_EstInfos estInfo = new Biz_EstInfos(comp_id, est_id); dataTable = columnInfo.GetColumnInfo(comp_id, est_id).Tables[0]; DataRow dataRow = null; UltraGridColumn ultraGridCol = null; int i = 0; owner_type = estInfo.Owner_Type; Biz_JobColumnMaps jobColumnMap = new Biz_JobColumnMaps(); DataTable dtColumnMap = null; Biz_PositionInfos positionInfo = new Biz_PositionInfos(); DataTable dtPosNotUse = positionInfo.GetPositionInfoByUseYN("N").Tables[0]; foreach (string est_job_id in est_job_ids) { if (dtColumnMap == null) { dtColumnMap = jobColumnMap.GetJobColumnMap(comp_id , est_id , est_job_id).Tables[0]; } else { dtColumnMap.Merge(dtColumnMap); } } for (int j = ultraWebGrid.Bands[0].Columns.Count; j > default_index_count; j--) { ultraWebGrid.Bands[0].Columns.RemoveAt(j - 1); ultraWebGrid.DisplayLayout.Bands[0].HeaderLayout.RemoveAt(j - 1); } for (; i < dataTable.Rows.Count; i++) { dataRow = dataTable.Rows[i]; //--------------------- 일반 컬럼일 경우 if (dataRow["COL_STYLE_ID"].ToString().Equals("NML")) { ultraGridCol = new UltraGridColumn(); ultraWebGrid.Bands[0].Columns.Add(ultraGridCol); ultraGridCol.Header.Caption = dataRow["CAPTION"].ToString(); ultraGridCol.Header.Column.Width = (dataRow["WIDTH"] == DBNull.Value) ? 100 : DataTypeUtility.GetToInt32(dataRow["WIDTH"]); ultraGridCol.Header.Column.Key = dataRow["COL_KEY"].ToString(); if (DataTypeUtility.GetYNToBoolean(dataRow["DEFAULT_VALUE_YN"].ToString()) == false) { ultraGridCol.Header.Column.BaseColumnName = dataRow["COL_KEY"].ToString(); } ultraGridCol.Header.RowLayoutColumnInfo.OriginX = i + default_index_count + -1; ultraGridCol.CellStyle.HorizontalAlign = UltraGridUtility.GetHorizontalAlign(dataRow["HALIGN"]); ultraGridCol.DataType = dataRow["DATA_TYPE"].ToString(); ultraGridCol.Hidden = !DataTypeUtility.GetYNToBoolean(dataRow["VISIBLE_YN"].ToString()); if (DataTypeUtility.GetYNToBoolean(dataRow["BACK_COLOR_YN"].ToString())) { if (dataRow["BACK_COLOR"] != DBNull.Value || dataRow["BACK_COLOR"].ToString().Trim().Equals("")) { ultraGridCol.CellStyle.BackColor = Color.FromName(dataRow["BACK_COLOR"].ToString()); } } if (DataTypeUtility.GetYNToBoolean(dataRow["FORMAT_YN"].ToString())) { if (dataRow["FORMAT"] != DBNull.Value || dataRow["FORMAT"].ToString().Trim().Equals("")) { ultraGridCol.Format = dataRow["FORMAT"].ToString(); } } if (DataTypeUtility.GetYNToBoolean(dataRow["FORMULA_YN"].ToString())) { if (dataRow["FORMULA_YN"] != DBNull.Value || dataRow["FORMULA_YN"].ToString().Trim().Equals("")) { ultraGridCol.Format = dataRow["FORMULA"].ToString(); } } if (DataTypeUtility.GetYNToBoolean(dataRow["DEFAULT_VALUE_YN"].ToString())) { if (dataRow["DEFAULT_VALUE_YN"] != DBNull.Value || dataRow["DEFAULT_VALUE_YN"].ToString().Trim().Equals("")) { ultraGridCol.NullText = WebUtility.GetHtmlEncodeChar(dataRow["DEFAULT_VALUE"].ToString()); } } // 평가 주체가 부서인경우 (사원컬럼이면 보이기를 숨김으로 한다) if (owner_type.Equals("D") && dept_column_no_use_yn.Equals("N")) { if (dataRow["COL_EMP_VISIBLE_YN"].ToString().Equals("Y")) { ultraGridCol.Hidden = true; } } else if (owner_type.Equals("P") && dept_column_no_use_yn.Equals("Y")) { if (dataRow["COL_EMP_VISIBLE_YN"].ToString().Equals("Y")) { ultraGridCol.Hidden = true; } } VisiblePosColumn(dtPosNotUse, ultraGridCol, dataRow["COL_KEY"].ToString()); } //--------------------- 존재하는 컬럼일 경우 else if (dataRow["COL_STYLE_ID"].ToString().Equals("BLK")) { try { ultraWebGrid.Bands[0].Columns.FromKey(dataRow["COL_KEY"].ToString()).Hidden = !DataTypeUtility.GetYNToBoolean(dataRow["VISIBLE_YN"].ToString()); } catch { } } //--------------------- 업무관련 컬럼 else if (dataRow["COL_STYLE_ID"].ToString().Equals("BIZ")) { ultraGridCol = new UltraGridColumn(); ultraWebGrid.Bands[0].Columns.Add(ultraGridCol); ultraGridCol.Header.Caption = dataRow["CAPTION"].ToString(); ultraGridCol.Header.Column.Width = (dataRow["WIDTH"] == DBNull.Value) ? 100 : DataTypeUtility.GetToInt32(dataRow["WIDTH"]); ultraGridCol.Header.Column.Key = dataRow["COL_KEY"].ToString(); if (DataTypeUtility.GetYNToBoolean(dataRow["DEFAULT_VALUE_YN"].ToString()) == false) { ultraGridCol.Header.Column.BaseColumnName = dataRow["COL_KEY"].ToString(); } ultraGridCol.Header.RowLayoutColumnInfo.OriginX = i + default_index_count + -1; ultraGridCol.CellStyle.HorizontalAlign = UltraGridUtility.GetHorizontalAlign(dataRow["HALIGN"]); ultraGridCol.DataType = dataRow["DATA_TYPE"].ToString(); // 미리 숨김을 함 ultraGridCol.Hidden = true; if (DataTypeUtility.GetYNToBoolean(dataRow["BACK_COLOR_YN"].ToString())) { if (dataRow["BACK_COLOR"] != DBNull.Value || dataRow["BACK_COLOR"].ToString().Trim().Equals("")) { ultraGridCol.CellStyle.BackColor = Color.FromName(dataRow["BACK_COLOR"].ToString()); } } if (DataTypeUtility.GetYNToBoolean(dataRow["FORMAT_YN"].ToString())) { if (dataRow["FORMAT"] != DBNull.Value || dataRow["FORMAT"].ToString().Trim().Equals("")) { ultraGridCol.Format = dataRow["FORMAT"].ToString(); } } if (DataTypeUtility.GetYNToBoolean(dataRow["FORMULA_YN"].ToString())) { if (dataRow["FORMULA_YN"] != DBNull.Value || dataRow["FORMULA_YN"].ToString().Trim().Equals("")) { ultraGridCol.Format = dataRow["FORMULA_YN"].ToString(); } } if (DataTypeUtility.GetYNToBoolean(dataRow["DEFAULT_VALUE_YN"].ToString())) { if (dataRow["DEFAULT_VALUE_YN"] != DBNull.Value || dataRow["DEFAULT_VALUE_YN"].ToString().Trim().Equals("")) { ultraGridCol.NullText = WebUtility.GetHtmlEncodeChar(dataRow["DEFAULT_VALUE"].ToString()); } } // COL_KEY 와 EST_JOB_ID 간에 매핑에 따라 보여주기 여부 처리 foreach (DataRow drColMap in dtColumnMap.Rows) { if (ultraGridCol.Hidden == true) { if (drColMap["COL_KEY"].ToString() == dataRow["COL_KEY"].ToString()) { ultraGridCol.Hidden = false; break; } } } if (ultraGridCol.Hidden == false) { ultraGridCol.Hidden = !DataTypeUtility.GetYNToBoolean(dataRow["VISIBLE_YN"].ToString()); } // 평가 주체가 부서인경우 (사원컬럼이면 보이기를 숨김으로 한다) if (owner_type.Equals("D") && dept_column_no_use_yn.Equals("N")) { if (dataRow["COL_EMP_VISIBLE_YN"].ToString().Equals("Y")) { ultraGridCol.Hidden = true; } } else if (owner_type.Equals("P") && dept_column_no_use_yn.Equals("Y")) { if (dataRow["COL_EMP_VISIBLE_YN"].ToString().Equals("Y")) { ultraGridCol.Hidden = true; } } VisiblePosColumn(dtPosNotUse, ultraGridCol, dataRow["COL_KEY"].ToString()); } } }