Beispiel #1
0
        void InitGauge(Dundas.Gauges.WebControl.GaugeContainer c, double v, double?min, double?max, double?break1, double?break2, double MaxValue)
        {
            c.Parent.Visible = true;
            Dundas.Gauges.WebControl.CircularGauge g = c.CircularGauges[0];
            g.Pointers[0].Value = v;

            if (min == null)
            {
                min = 0;
            }
            if (max == null)
            {
                max = MaxValue;
            }

            if (g.Scales[0].Maximum <= (double)min)
            {
                g.Scales[0].Maximum = (double)max;
                g.Scales[0].Minimum = (double)min;
            }
            else
            {
                g.Scales[0].Minimum = (double)min;
                g.Scales[0].Maximum = (double)max;
            }

            if (break1 >= max)
            {
                break1 = null;
            }
            if (break2 >= max)
            {
                break2 = null;
            }

            g.Ranges[0].StartValue = (double)min;
            g.Ranges[0].EndValue   = (double)max;

            if (break1 == null)
            {
                g.Ranges[1].Visible = false;
            }
            else
            {
                g.Ranges[0].EndValue   = (double)break1;
                g.Ranges[1].Visible    = true;
                g.Ranges[1].StartValue = (double)break1;
                g.Ranges[1].EndValue   = (double)max;
            }

            if (break2 == null)
            {
                g.Ranges[2].Visible = false;
            }
            else
            {
                if (break1 == null)
                {
                    g.Ranges[0].EndValue = (double)break2;
                }
                g.Ranges[1].EndValue   = (double)break2;
                g.Ranges[2].Visible    = true;
                g.Ranges[2].StartValue = (double)break2;
                g.Ranges[2].EndValue   = (double)max;
            }
        }
Beispiel #2
0
    private void SetGauge()
    {
        //================================================================== 전체
        MicroBSC.BSC.Biz.Biz_Bsc_Score_Card objBSC = new MicroBSC.BSC.Biz.Biz_Bsc_Score_Card();

        DataSet dsTot = objBSC.GetEstDeptTotalScore(this.IEstTermRefID
                                                    , this.IYmd
                                                    , this.ISumType
                                                    , this.IEstDeptID);
        double dblMax = 0.00;

        if (dsTot.Tables[0].Rows.Count > 0)
        {
            dblMax = Math.Round(double.Parse(dsTot.Tables[0].Rows[0][3].ToString()), 0);

            this.gauTotal2.NumericIndicators["Default"].Value       = (dsTot.Tables[0].Rows.Count > 0) ? double.Parse(dsTot.Tables[0].Rows[0]["POINT"].ToString()) : 0;
            this.gauTotal2.NumericIndicators["Default"].Href        = "./BSC0404S1.ASPX";
            this.gauTotal2.NumericIndicators["Default"].BorderWidth = 0;
            this.gauTotal2.Labels["Default"].Href = "./BSC0404S1.ASPX";

            lblToatal.Text = Convert.ToString(Math.Round(this.gauTotal2.NumericIndicators["Default"].Value, 2));

            this.SetStateIndicator(this.gauTotal2.StateIndicators);

            foreach (Dundas.Gauges.WebControl.StateIndicator stateIndicator in this.gauTotal2.StateIndicators)
            {
                stateIndicator.Value       = (dsTot.Tables[0].Rows.Count > 0) ? double.Parse(dsTot.Tables[0].Rows[0]["POINT"].ToString()) : 0;
                stateIndicator.Location.Y  = 0;
                stateIndicator.Location.X  = 30;
                stateIndicator.Size.Height = 9;
                stateIndicator.Size.Width  = 7;
            }
        }

        //================================================================== 관점별 달성율

        DataSet dsViw = objBSC.GetEstDeptKpiViewTypeList(this.IEstTermRefID
                                                         , this.IYmd
                                                         , this.ISumType
                                                         , this.IEstDeptID);

        Dundas.Gauges.WebControl.GaugeContainer objGauge = null;

        if (dsViw.Tables[0].Rows.Count > 0)
        {
            for (int i = 0; i < dsViw.Tables[0].Rows.Count; i++)
            {
                switch (i)
                {
                case 0:
                    objGauge = gauKPI1;
                    break;

                case 1:
                    objGauge = gauKPI2;
                    break;

                case 2:
                    objGauge = gauKPI3;
                    break;

                case 3:
                    objGauge = gauKPI4;
                    break;


                default:
                    return;
                }


                dblMax = Math.Round(double.Parse(dsViw.Tables[0].Rows[i]["ACHV_RATE"].ToString()), 0);

                objGauge.CircularGauges["Default"].Scales[0].Minimum    = 0;
                objGauge.CircularGauges["Default"].Scales[0].Maximum    = (dblMax >= 100) ? dblMax : 100;
                objGauge.CircularGauges["Default"].Scales[0].StartAngle = 89;
                objGauge.CircularGauges["Default"].Scales[0].SweepAngle = 95;
                //objGauge.CircularGauges["Default"].Scales[0].Width = 10;
                //objGauge.CircularGauges["Default"].Scales[0].ShadowOffset = 0;
                objGauge.CircularGauges["Default"].Scales[0].Radius = 57;
                //objGauge.CircularGauges["Default"].Scales[0].FillColor = System.Drawing.Color.White;

                // Flash based streaming
                objGauge.ImageType       = Dundas.Gauges.WebControl.ImageType.Png;
                objGauge.RenderAsControl = Dundas.Gauges.WebControl.AutoBool.False;

                objGauge.CircularGauges["Default"].Pointers["Default"].Value = (dsViw.Tables[0].Rows.Count > 0) ? double.Parse(dsViw.Tables[0].Rows[i]["ACHV_RATE"].ToString()) : 0;

                objGauge.Labels[0].Text = dsViw.Tables[0].Rows[i]["VIEW_NAME"].ToString();

                //objGauge.Labels[0].Href = "./BSC0404S1.ASPX";
                objGauge.Labels[0].BorderWidth = 0;

                this.SetStateIndicator(objGauge.StateIndicators);

                foreach (Dundas.Gauges.WebControl.StateIndicator stateIndicator in this.gauTotal2.StateIndicators)
                {
                    stateIndicator.Value = (dsViw.Tables[0].Rows.Count > 0) ? double.Parse(dsViw.Tables[0].Rows[i]["ACHV_RATE"].ToString()) : 0;
                }
            }
        }
    }