/// <summary> /// 직급,직군 보이기 여부 /// </summary> /// <param name="columnCollection"></param> public static void VisiblePosColumn(ColumnsCollection columnCollection) { Biz_PositionInfos positionInfo = new Biz_PositionInfos(); DataTable dtPosNotUse = positionInfo.GetPositionInfoByUseYN("N").Tables[0]; foreach (DataRow dataRowPosNotUse in dtPosNotUse.Rows) { string col_key_id = string.Format("TGT_POS_{0}_ID", dataRowPosNotUse["POS_ID"]); string col_key_name = string.Format("TGT_POS_{0}_NAME", dataRowPosNotUse["POS_ID"]); string col_key_id_1 = string.Format("POS_{0}_ID", dataRowPosNotUse["POS_ID"]); string col_key_name_1 = string.Format("POS_{0}_NAME", dataRowPosNotUse["POS_ID"]); if (columnCollection.Exists(col_key_id)) { columnCollection.FromKey(col_key_id).Hidden = true; } if (columnCollection.Exists(col_key_name)) { columnCollection.FromKey(col_key_name).Hidden = true; } if (columnCollection.Exists(col_key_id_1)) { columnCollection.FromKey(col_key_id_1).Hidden = true; } if (columnCollection.Exists(col_key_name_1)) { columnCollection.FromKey(col_key_name_1).Hidden = true; } } }
private void InfoGridBinding() { Biz_PositionInfos positionInfo = new Biz_PositionInfos(); DataSet ds = positionInfo.GetPositionInfoByUseYN(""); UltraWebGrid1.DataSource = ds; UltraWebGrid1.DataBind(); }
public static void BindPositionInfo(DropDownList ddl) { Biz_PositionInfos positionInfo = new Biz_PositionInfos(); DataSet ds = positionInfo.GetPositionInfoByUseYN("Y"); ddl.DataValueField = "POS_ID"; ddl.DataTextField = "POS_NAME"; ddl.DataSource = ds; ddl.DataBind(); }
protected void ibtnDataMove_Click(object sender, ImageClickEventArgs e) { string strIdxs = UltraGridUtility.GetCheckBoxValues(UltraWebGrid1 , "CHK_BOX" , "cBox" , "POS_ID"); string strNotInIdxs = GetNotInIdxs(strIdxs); Biz_PositionInfos positionInfo = new Biz_PositionInfos(); bool bResult = positionInfo.ModifyPositionID(strNotInIdxs , DateTime.Now , EMP_REF_ID); if (bResult) { DetailGridBinding(hdfPosInfoID.Value); } else { ltrScript.Text = JSHelper.GetAlertBackScript("등록되지 않았습니다."); return; } }
/// <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()); } } }
protected void doBind() { string dept_type_ref_id_list = ""; for (int i = 0; i < DEPT_TYPE_REF_ID.Length; i++) { if (dept_type_ref_id_list.Length > 0) { dept_type_ref_id_list += ", "; } dept_type_ref_id_list += DEPT_TYPE_REF_ID[i]; } Biz_PositionInfos bizPosInfo = new Biz_PositionInfos(POS_ID); //종으로 출력된 부서타입별 가중치를 횡으로 변환 if (bizPosInfo.Position_Table_Name != null && bizPosInfo.Position_Table_Name.Trim().Length > 0) { Biz_Est_Pos_Weight bizEstPosWeight = new Biz_Est_Pos_Weight(); DataTable dt = bizEstPosWeight.Get_Est_Pos_Weight(POS_ID , bizPosInfo.Position_Table_Name , dept_type_ref_id_list , COMP_ID , ESTTERM_REF_ID , EST_ID); DataTable dt_result = DataTypeUtility.GetGroupByDataTable(dt, new string[] { "POS_ID", "POS_VALUE", "POS_VALUE_NAME" }); if (dt_result.Rows.Count > 0) { for (int i = 0; i < DEPT_TYPE_REF_ID.Length; i++) { int dept_type_ref_id = DEPT_TYPE_REF_ID[i]; string colName = string.Format("WEIGHT_{0}", dept_type_ref_id); dt_result.Columns.Add(colName); Biz_DeptTypeInfo bizDeptTypeInfo = new Biz_DeptTypeInfo(dept_type_ref_id); string dept_type_name = bizDeptTypeInfo.Itype_name; TemplatedColumn srcCol = (TemplatedColumn)UltraWebGrid1.Columns.FromKey("WEIGHT"); //컬럼 복사 후 추가 if (!UltraWebGrid1.Columns.Exists(colName)) { UltraGridColumn hdCol = new UltraGridColumn();//히든 컬럼 hdCol.BaseColumnName = colName; hdCol.Key = colName; hdCol.Hidden = true; UltraWebGrid1.Columns.Insert(srcCol.Index, hdCol); } if (!UltraWebGrid1.Columns.Exists("i" + colName)) { TemplatedColumn tgtCol = new TemplatedColumn();//입력 컬럼 tgtCol.CopyFrom(srcCol); tgtCol.BaseColumnName = "i" + colName; tgtCol.Key = "i" + colName; tgtCol.Hidden = false; tgtCol.Width = Unit.Pixel(80); tgtCol.Header.Caption = string.Format("{0} 가중치", dept_type_name); UltraWebGrid1.Columns.Insert(srcCol.Index, tgtCol); } DataTable dt_filtered_pos_weght = DataTypeUtility.FilterSortDataTable(dt, string.Format("DEPT_TYPE_REF_ID={0}", dept_type_ref_id)); if (dt_filtered_pos_weght.Rows.Count > 0) { for (int j = 0; j < dt_result.Rows.Count; j++) { string pos_value = DataTypeUtility.GetString(dt_result.Rows[j]["POS_VALUE"]); DataTable dt_pos_weight = DataTypeUtility.FilterSortDataTable(dt_filtered_pos_weght, string.Format("POS_VALUE='{0}'", pos_value)); if (dt_pos_weight.Rows.Count > 0) { double pos_weight = DataTypeUtility.GetToDouble(dt_pos_weight.Rows[0]["WEIGHT"]); dt_result.Rows[j][string.Format("WEIGHT_{0}", dept_type_ref_id)] = pos_weight; } else { dt_result.Rows[j][string.Format("WEIGHT_{0}", dept_type_ref_id)] = 0; } } } } } UltraWebGrid1.Clear(); UltraWebGrid1.DataSource = dt_result; UltraWebGrid1.DataBind(); } }
protected void UltraWebGrid1_InitializeRow(object sender, RowEventArgs e) { Biz_PositionInfos bizPosInfo = new Biz_PositionInfos(POS_ID); string up_dept_point = DataTypeUtility.GetString(e.Row.Cells.FromKey("UP_DEPT_POINT").Value); if (up_dept_point.Trim().Length == 0) { up_dept_point = "-"; } string dept_point = DataTypeUtility.GetString(e.Row.Cells.FromKey("DEPT_POINT").Value); if (dept_point.Trim().Length == 0) { dept_point = "-"; } string point = DataTypeUtility.GetString(e.Row.Cells.FromKey("POINT").Value); if (point.Trim().Length == 0) { point = "-"; } e.Row.Cells.FromKey("UP_DEPT_POINT").Value = up_dept_point; e.Row.Cells.FromKey("DEPT_POINT").Value = dept_point; e.Row.Cells.FromKey("POINT").Value = point; if (e.Row.Cells.Exists(string.Format("TGT_POS_{0}_ID", POS_ID))) { string pos_value = DataTypeUtility.GetString(e.Row.Cells.FromKey(string.Format("TGT_POS_{0}_ID", POS_ID)).Value); int up_dept_type = DataTypeUtility.GetToInt32(e.Row.Cells.FromKey("UP_DEPT_TYPE").Value); int dept_type = DataTypeUtility.GetToInt32(e.Row.Cells.FromKey("DEPT_TYPE").Value); double up_dept_weight = 0; double dept_weight = 0; DataTable dt = null; string filter_src = "POS_ID='{0}' AND POS_VALUE='{1}' AND DEPT_TYPE_REF_ID='{2}'"; string dept_name = DataTypeUtility.GetString(e.Row.Cells.FromKey("TGT_DEPT_NAME").Value); if (dept_type == 7) { if (up_dept_type == 4) { dt = DataTypeUtility.FilterSortDataTable(DT_EST_POS_WEIGHT, string.Format(filter_src, POS_ID, pos_value, up_dept_type)); if (dt.Rows.Count > 0) { up_dept_weight = DataTypeUtility.GetToDouble(dt.Rows[0]["WEIGHT"]); } dt = DataTypeUtility.FilterSortDataTable(DT_EST_POS_WEIGHT, string.Format(filter_src, POS_ID, pos_value, dept_type)); if (dt.Rows.Count > 0) { dept_weight = DataTypeUtility.GetToDouble(dt.Rows[0]["WEIGHT"]); } } else { dept_weight = 100; //e.Row.Cells.FromKey("UP_DEPT_NAME").Value = ""; //e.Row.Cells.FromKey("UP_DEPT_POINT").Value = ""; } } else if (dept_type == 4) { dept_weight = 100; //e.Row.Cells.FromKey("UP_DEPT_NAME").Value = dept_name; //e.Row.Cells.FromKey("UP_DEPT_POINT").Value = point; //e.Row.Cells.FromKey("TGT_DEPT_NAME").Style.ForeColor = Color.Transparent; //e.Row.Cells.FromKey("POINT").Style.ForeColor = Color.Transparent; } e.Row.Cells.FromKey("UP_DEPT_WEIGHT").Value = up_dept_weight; e.Row.Cells.FromKey("DEPT_WEIGHT").Value = dept_weight; } }
private void GridBidingData(int comp_id , string est_id , int estterm_ref_id , int estterm_sub_id , int estterm_step_id) { // 평가정보를 가져온다. Biz_EstInfos estInfo = new Biz_EstInfos(comp_id, est_id); // 해당평가가 존재하는지 여부 체크 if (!estInfo.IsExists(comp_id, est_id)) { ltrScript.Text = JSHelper.GetAlertScript("선택된 회사의 평가정보가 없습니다."); return; } Biz_Est_Data bizEstData = new Biz_Est_Data(); if (DT_EST_DATA == null) { DT_EST_DATA = bizEstData.Get_Est_Data_Pos_Weight(comp_id , est_id , estterm_ref_id , estterm_sub_id , estterm_step_id); } DT_EST_DATA = DataTypeUtility.FilterSortDataTable(DT_EST_DATA, "TGT_DEPT_ID=10");//경영혁신팀만 조회 if (DataTypeUtility.FilterSortDataTable(DT_EST_DATA, "DEPT_POINT IS NULL").Rows.Count > 0) { this.ltrScript.Text = JSHelper.GetAlertScript("점수가 입력되지 않은 부서가 존재합니다."); iBtnApplyWeight.Visible = false; } Biz_Est_Pos_Weight bizEstPosWeight = new Biz_Est_Pos_Weight(); DataTable dt = bizEstPosWeight.Get_Est_Pos_Weight(comp_id , estterm_ref_id , est_id , 0 , "" , "" , 0); if (dt.Rows.Count > 0) { dt = DataTypeUtility.GetGroupByDataTable(dt, new string[] { "POS_ID" }); POS_ID = DataTypeUtility.GetString(dt.Rows[0]["POS_ID"]); Biz_PositionInfos bizPosInfo = new Biz_PositionInfos(POS_ID); if (bizPosInfo.Position_Table_Name != null && bizPosInfo.Position_Table_Name.Trim().Length > 0) { DT_EST_POS_WEIGHT = bizEstPosWeight.Get_Est_Pos_Weight(POS_ID , bizPosInfo.Position_Table_Name , DEPT_TYPE_REF_ID_LIST , comp_id , estterm_ref_id , est_id); int current_page = UltraWebGrid1.DisplayLayout.Pager.CurrentPageIndex; int page_size = UltraWebGrid1.DisplayLayout.Pager.PageSize; double page_cnt = Math.Ceiling((double)DT_EST_DATA.Rows.Count / page_size); CURRENT_PAGE = current_page; PAGE_CNT = DataTypeUtility.GetToInt32(page_cnt); DataTable dt_est_data = DT_EST_DATA.Copy(); for (int i = 0; i < (current_page - 1) * page_size; i++) { dt_est_data.Rows.RemoveAt(0); } UltraWebGrid1.Clear(); UltraWebGrid1.DataSource = dt_est_data; UltraWebGrid1.DataBind(); lblRowCount.Text = DT_EST_DATA.Rows.Count.ToString("#,##0"); } } }