Exemplo n.º 1
0
    //public void SetEntGradeRate(Chart iChart)
    //{
    //    MicroBSC.BSC.Biz.Biz_Bsc_Score_Card objBSC = new MicroBSC.BSC.Biz.Biz_Bsc_Score_Card();
    //    DataSet dsGrd = objBSC.GetKpiEntGradeStatus
    //                                             (this.IYmd
    //                                             , this.IYmd
    //                                             , this.ISumType
    //                                             , this.IEstDeptID);

    //    MSCharts.GetDefaultChart(iChart, ChartImageType.Jpeg, 230, chartHeight, true, false, true);
    //    ChartArea FstChtArea = iChart.ChartAreas[0];
    //    FstChtArea.Position.Auto = true;

    //    string sTitle = PageUtility.GetByTextDropDownList(ddlMonthInfo) + " 현재 지표등급 구성비";
    //    MSCharts.CreateTitle(iChart, sTitle);


    //    if (dsGrd.Tables[0].Rows.Count > 0)
    //    {

    //        Series serCRate = MSCharts.CreateSeries(iChart, "serA", iChart.ChartAreas[0].Name, "달성율", null, SeriesChartType.Pie, 0, GetChartColor(0), Color.FromArgb(chartHeight, 26, 59, 105), Color.FromArgb(64, 0, 0, 0), 1, 9, Color.FromArgb(64, 64, 64));
    //        iChart.DataSource = dsGrd;

    //        iRow = dsGrd.Tables[0].Rows.Count;
    //        for (int i = 0; i < iRow; i++)
    //        {
    //            string sValue = dsGrd.Tables[0].Rows[i]["COMP_RATE"].ToString();
    //            string sColor = dsGrd.Tables[0].Rows[i]["THRESHOLD_COLOR"].ToString();
    //            serCRate.Points.Add(double.Parse(sValue));
    //            serCRate.Points[i].Color = ColorTranslator.FromHtml(sColor);
    //            if (sValue.IndexOf('.') > 0)
    //            {
    //                serCRate.Points[i].Label = sValue.Substring(0, sValue.IndexOf('.')) + "%";
    //            }
    //            else
    //            {
    //                serCRate.Points[i].Label = sValue + "%";
    //            }
    //        }

    //        //serCRate.ToolTip = "X value \t= #VALX{d}\nY value \t= #VALY{C}\nRadius \t= #VALY2{P}";
    //        serCRate.ToolTip = "#VALY{P}";
    //    }
    //}


    // 전사 등급추이
    public void SetEntGradeRateTrend(Chart iChart)
    {
        DateTime           startYM = (DateTime.ParseExact(this.IYmd, "yyyyMM", null)).AddYears(-1);
        Biz_Bsc_Score_Card objBSC  = new Biz_Bsc_Score_Card();
        DataSet            dsGrd   = objBSC.GetKpiEntGradeStatus
                                         (base.GetYMDFromDateTime(startYM, "").Substring(0, 6)
                                         , this.IYmd
                                         , this.ISumType
                                         , this.IEstDeptID);

        MSCharts.GetDefaultChart(iChart, ChartImageType.Jpeg, 500, chartHeight, true, true, true);
        ChartArea FstChtArea = iChart.ChartAreas[0];

        iChart.Legends[0].Alignment   = StringAlignment.Near;
        iChart.Legends[0].LegendStyle = LegendStyle.Column;
        iChart.Legends[0].Docking     = Docking.Left;
        //iChart.Legends[0].DockInsideChartArea = false;

        string sTitle = "전체지표 등급추이분석";

        MSCharts.CreateTitle(iChart, sTitle);

        //FstChtArea.AxisY.Title = "구성비";

        DataTable dtGrade = this.GetGradeSchema();

        if (dsGrd.Tables.Count > 0)
        {
            iRow = dsGrd.Tables[0].Rows.Count;
            for (int i = 0; i < iRow; i++)
            {
                string  sKey = dsGrd.Tables[0].Rows[i]["THRESHOLD_REF_ID"].ToString();
                string  sVal = dsGrd.Tables[0].Rows[i]["THRESHOLD_KNAME"].ToString();
                string  sYmd = dsGrd.Tables[0].Rows[i]["YMD"].ToString();
                decimal dVal = decimal.Parse(dsGrd.Tables[0].Rows[i]["COMP_RATE"].ToString());

                for (int k = 0; k < dtGrade.Rows.Count; k++)
                {
                    if (sYmd.Equals(dtGrade.Rows[k][COL_KEY.KEY_FIELD.ToString()].ToString()) && dtGrade.Columns.Contains(sKey))
                    {
                        dtGrade.Rows[k][sKey] = dVal;
                    }
                }
            }

            //FstChtArea.AxisY.LabelStyle.Format = "P0";

            iCol = dtGrade.Columns.Count;
            //DundasAnimations.DundasChartBase(iChart, AnimationTheme.GrowingTogether, -1, -1, false, 1);
            iChart.DataSource = dtGrade;
            for (int m = 1; m < iCol; m++)
            {
                Series serAchv = MSCharts.CreateSeries(iChart, m.ToString(), iChart.ChartAreas[0].Name, dtGrade.Columns[m].Namespace, null,
                                                       SeriesChartType.StackedColumn100, 0, ColorTranslator.FromHtml(dtGrade.Columns[m].Caption),
                                                       Color.FromArgb(0x4A, 0x58, 0x7E), Color.FromArgb(64, 0, 0, 0), 1, 9, Color.FromArgb(64, 64, 64));
                serAchv.ToolTip = "#VALY{}";

                //DundasAnimations.GrowingAnimation(iChart, serAchv, m, m, true);
                serAchv.YValueMembers = dtGrade.Columns[m].ColumnName;

                if (m == 1)
                {
                    serAchv.XValueMember = dtGrade.Columns[COL_KEY.KEY_FIELD.ToString()].ColumnName;
                }
            }

            iChart.DataBind();
        }
    }