Example #1
0
    protected void UltraWebGrid1_InitializeRow(object sender, RowEventArgs e)
    {
        DataRowView drw = (DataRowView)e.Data;

        BizUtility.SetStatusImage(drw, e.Row.Cells);

        // 가중치관련 컬럼 보이기가 Y 인경우
        if (COL_WEIGHT_VISIBLE_YN.Equals("Y"))
        {
            BizUtility.SetWeightByDptPos(DT_COLUMN_INFO.Select(@"COL_STYLE_ID            = 'BIZ' 
                                                              AND VISIBLE_YN              = 'Y'")
                                         , COMP_ID
                                         , DT_DEPT_EST_POS_DETAIL
                                         , drw
                                         , e.Row.Cells);
        }

        // 평가별 점수 보여주기 사용 여부
        if (COL_POINT_VISIBLE_YN.Equals("Y"))
        {
        }

        // Bias 점수 조정 사용 여부
        if (COL_BIAS_POINT_VISIBLE_YN.Equals("Y"))
        {
        }

        // 등급 보이기 여부
        if (COL_GRADE_VISIBLE_YN.Equals("Y"))
        {
            // 부서별 평가방법일 경우
            if (ScaleTypeMode.Equals("DPT"))
            {
                DataRow[] drArr = DT_DEPT_SCALE.Select(string.Format("DEPT_REF_ID = {0}", drw["TGT_DEPT_ID"]));

                if (drArr.Length > 0)
                {
                    if (drArr[0]["SCALE_ID"].ToString().Equals("ABS"))
                    {
                        BizUtility.SetGradeByScale_ABS(DT_SCOPE
                                                       , drw
                                                       , e.Row.Cells);
                    }
                    else if (drArr[0]["SCALE_ID"].ToString().Equals("REL"))
                    {
                        BizUtility.SetGradeByScale_REL(DT_SCOPE
                                                       , DT_EST_DATA
                                                       , drw
                                                       , e.Row.Cells);
                    }
                }
            } // 직급,직책별 평가방법일 경우
            else if (ScaleTypeMode.Equals("POS"))
            {
                string scale_id = "ABS";

                //해당 부서 중 직책, 직급을 선별
                DataRow[] dtArrPosScale = DT_POS_SCALE.Select(string.Format("EST_ID = '{0}' AND DEPT_REF_ID = {1}", EST_ID, drw["TGT_DEPT_ID"]), "SEQ");

                //선별된 직책, 직급의 순서에 따라
                foreach (DataRow drChildPosScale in dtArrPosScale)
                {
                    // 기본값이면
                    if (drChildPosScale["POS_VALUE"].ToString().Equals("-"))
                    {
                        scale_id = DataTypeUtility.GetValue(drChildPosScale["SCALE_ID"]);
                        break;
                    }
                    else // 선별된 직급
                    {
                        if (drw[string.Format("TGT_POS_{0}_ID", drChildPosScale["POS_ID"])].ToString().Equals(drChildPosScale["POS_VALUE"].ToString()))
                        {
                            scale_id = DataTypeUtility.GetValue(drChildPosScale["SCALE_ID"]);
                            break;
                        }
                    }
                }

                if (scale_id.Equals("ABS"))
                {
                    BizUtility.SetGradeByScale_ABS(DT_SCOPE
                                                   , drw
                                                   , e.Row.Cells);
                }
                else if (scale_id.Equals("REL"))
                {
                    BizUtility.SetGradeByScale_REL(DT_SCOPE
                                                   , DT_EST_DATA
                                                   , drw
                                                   , e.Row.Cells);
                }
            }
        }

        // 등급을 점수로 환산 사용 여부
        if (COL_GRADE_TO_POINT_VISIBLE_YN.Equals("Y"))
        {
            BizUtility.SetGradeToPoint(DT_SCOPE
                                       , drw
                                       , e.Row.Cells);
        }

        // 주기별 집계 사용 여부
        if (COL_ESTTERM_SUB_AGG_VISIBLE_YN.Equals("Y"))
        {
        }

        // 차수별 집계 사용 여부
        if (COL_ESTTERM_STEP_AGG_VISIBLE_YN.Equals("Y"))
        {
        }

        // 점수 조정 사용 여부
        if (COL_CTRL_POINT_VISIBLE_YN.Equals("Y"))
        {
            BizUtility.SetCtrlPoint(drw
                                    , e.Row.Cells
                                    , DT_COLUMN_INFO
                                    , DT_CTRL_INFO
                                    , DT_CTRL_EST_DEPT_MAP
                                    , DT_CTRL_POINT_DATA
                                    , EMP_REF_ID);
        }

        // 등급 조정 사용 여부
        if (COL_CTRL_GRADE_VISIBLE_YN.Equals("Y"))
        {
            BizUtility.SetCtrlGrade(drw
                                    , e.Row.Cells
                                    , DT_COLUMN_INFO
                                    , DT_CTRL_INFO
                                    , DT_CTRL_EST_DEPT_MAP
                                    , DT_CTRL_GRADE_DATA
                                    , EMP_REF_ID);
        }
    }