Esempio n. 1
0
/// <summary>
/// Show the point properties menu
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>

        internal void ShowPointPropertiesContextMenu(
            SeriesPoint point,
            MouseEventArgs e)
        {
            CurrentSeriesPoint = point;

            int dri = GetDataRowIndex(CurrentSeriesPoint);

            if (dri < 0)
            {
                return;
            }

            bool selected = ChartView.Dtm.RowIsSelected(dri);

            SelectPointMenuItem.Checked = selected;
            SelectPointMenuItem.Text    = selected ? "Deselect" : "Select";

            bool marked = ChartView.Dtm.RowIsMarked(dri);

            MarkPointMenuItem.Checked = marked;
            MarkPointMenuItem.Text    = marked ? "Unmark" : "Mark";

            PointPropertiesContextMenu.Show(this, new Point(e.X, e.Y));
        }
Esempio n. 2
0
 /// <summary>
 ///     将点加到曲线上
 /// </summary>
 /// <param name="series"></param>
 /// <param name="pointsToUpdate"></param>
 private void AddPoints(Series series, SeriesPoint pointsToUpdate)
 {
     if (series.View is SwiftPlotSeriesViewBase)
     {
         series.Points.Add(pointsToUpdate);
     }
 }
Esempio n. 3
0
        private void setChartData(ChartControl chart, object data1, object data2)
        {
            Series mySeries = chart.Series[0];

            double d1 = 0, d2 = 0;

            switch (chart.Name)
            {
            case "chartControl1":
            case "chartControl3":
                d1 = Convert.ToDouble(data1);
                d2 = Convert.ToDouble(data2);
                break;

            case "chartControl2":
                d1 = TimespanToDouble((TimeSpan)data1);
                d2 = TimespanToDouble((TimeSpan)data2);
                break;
            }

            SeriesPoint Point1 = new SeriesPoint("Data1", d1);
            SeriesPoint Point2 = new SeriesPoint("Data2", d2);

            SeriesPoint[] Points = new SeriesPoint[] { Point1, Point2 };

            mySeries.Points.Clear();
            mySeries.Points.AddRange(Points);
        }
Esempio n. 4
0
    /// <summary>
    /// 查询当日工序产量之后绘制分析图形。
    /// </summary>
    /// <param name="dtSource">源数据表。</param>
    private void DrawChart(DataTable dtSource, DataTable dtColumns)
    {
        chartOutput.Series.Clear();

        Series sInQty  = new Series("送入数", ViewType.Bar);
        Series sOutQty = new Series("送出数", ViewType.Bar);

        var query = from column in dtColumns.AsEnumerable()
                    join row in dtSource.Select("SEQ_NUMBER=1").AsEnumerable() on column["ROUTE_STEP_NAME"] equals row["OPERATION_NAME"] into grp
                    from item in grp.DefaultIfEmpty()
                    select new
        {
            OperationName = column["ROUTE_STEP_NAME"],
            InQty         = (item == null ? 0 : Convert.ToInt32(item["IN_QTY"])),
            OutQty        = (item == null ? 0 : Convert.ToInt32(item["OUT_QTY"]))
        };
        var results = from item in query.AsEnumerable()
                      group item by item.OperationName into g
                      select new { g, IN_QTY = g.Sum(p => p.InQty), OUT_QTY = g.Sum(p => p.OutQty) }
        ;

        foreach (var obj in results.AsEnumerable())
        {
            SeriesPoint spInQty = new SeriesPoint(obj.g.Key, obj.IN_QTY);
            sInQty.Points.Add(spInQty);
            sOutQty.Points.Add(new SeriesPoint(obj.g.Key, obj.OUT_QTY));
        }
        chartOutput.Series.Add(sInQty);
        chartOutput.Series.Add(sOutQty);
    }
        void UpdateEvents(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            Series s = this.chartControl1.Series["Events"];

            s.Points.BeginUpdate();
            this.chartControl1.Annotations.BeginUpdate();
            s.Points.Clear();
            this.chartControl1.Annotations.Clear();
            try {
                ResizeableArray <CandleStickData> cd = Ticker.CandleStickData;
                DateTime endTime   = cd.Count == 0 ? DateTime.MinValue : cd.Last().Time;
                DateTime startTime = cd.Count == 0 ? DateTime.MaxValue : cd.First().Time;
                for (int i = 0; i < Ticker.Events.Count; i++)
                {
                    TickerEvent ev = Ticker.Events[i];
                    if (ev.Time <= endTime && ev.Time >= startTime)
                    {
                        SeriesPoint sp = CreateEventPoint(Ticker.Events[i]);
                        s.Points.Add(sp);
                        CreateAnnotation(sp);
                    }
                }
            }
            finally {
                s.Points.EndUpdate();
                this.chartControl1.Annotations.EndUpdate();
            }
        }
Esempio n. 6
0
 void LoadData()
 {
     using (_khieunaitocaoContext = new khieunaitocaoContextDataContext())
     {
         try
         {
             var series1 = chartControl1.Series[0];
             series1.Points.Clear();
             var _result = _khieunaitocaoContext.thongke_giaiquyetkhieunai(date_tungay.DateTime, date_denngay.DateTime, dinhdanh.madonvi).ToList();
             foreach (var item in _result)
             {
                 var point = new SeriesPoint();
                 point.Argument = item.statuss;
                 point.Tag      = item.statuss;
                 point.Values   = new double[] { Convert.ToDouble(item.soluong) };
                 series1.Points.Add(point);
                 series1.Label.TextPattern = "{A}: {VP:p0}";
             }
         }
         catch
         {
             XtraMessageBox.Show("Có lỗi xảy ra");
         }
     }
 }
Esempio n. 7
0
        public void SetPoints(List<SeriesPoint> points1, List<SeriesPoint> points2)
        {
            this.chartControl2.Series[0].Points.Clear();
            this.chartControl2.Series[1].Points.Clear();
            mAxisDic.Clear();

            int i = 0;
            foreach (SeriesPoint point in points1)
            {
                i++;
                SeriesPoint point1 = new SeriesPoint(i, point.Values[0]);
                mAxisDic.Add(i, point.Tag.ToString());
                point1.Tag = point.Tag;
                this.chartControl2.Series[0].Points.Add(point1);
                addAnnotation(point, i);
            }

            i = 0;
            foreach (SeriesPoint point in points2)
            {
                i++;
                SeriesPoint point2 = new SeriesPoint(i, point.Values[0]);
                point2.Tag = point.Tag;
                this.chartControl2.Series[1].Points.Add(point2);
                addAnnotation(point, i);
            }
        }
    SeriesPoint[] CalculateEMA(SeriesPoint[] list, int daysCount, int valueIndex)
    {
        List <SeriesPoint> result = new List <SeriesPoint>();
        int valuesCount           = list.Length;

        if (valuesCount > 1)
        {
            int    pointsCount = Math.Min(daysCount, valuesCount);
            double ema         = 0;
            double multiplier  = 1;
            for (int index = 0, divider = 2; index < pointsCount; index++, divider++)
            {
                multiplier = 2.0 / divider;
                SeriesPoint point = list[index];
                ema += (point.Values[valueIndex] - ema) * multiplier;
                result.Add(new SeriesPoint(point.Argument, ema));
            }
            for (int index = pointsCount; index < valuesCount; index++)
            {
                SeriesPoint point = list[index];
                ema += (point.Values[valueIndex] - ema) * multiplier;
                result.Add(new SeriesPoint(point.Argument, ema));
            }
        }
        return(result.ToArray());
    }
Esempio n. 9
0
        public static Series CreateSeries(string typechar, Dictionary<string, string> diction)
        {
            Series ser = null;
            Dictionary<string, string> dicts = diction;
            switch (typechar)
            {
                case "柱状图":
                    ser = new Series("", ViewType.Bar);
                    break;
                case "线状图":
                    ser = new Series("", ViewType.Line);
                    break;
                default:
                    ser = new Series("", ViewType.Bar);
                    break;
            }

            ser.ArgumentScaleType = ScaleType.Qualitative;
            foreach (var item in dicts)
            {
                SeriesPoint sp = new SeriesPoint(item.Key, item.Value);
                ser.Points.Add(sp);
            }
            SecondaryAxisY sy = new SecondaryAxisY();
            sy.GridSpacing = 1;
            return ser;
        }
Esempio n. 10
0
        /// <summary>
        /// Create clustered scatter data
        /// </summary>
        /// <param name="pointCount">Point count to generate</param>
        /// <param name="seedMinX">X min of cluster center</param>
        /// <param name="seedMaxX">X max of cluster center</param>
        /// <param name="seedMinY">Y min of cluster center</param>
        /// <param name="seedMaxY">Y max of cluster center</param>
        /// <returns></returns>
        SeriesPoint[] GenerateScatterClusters(int pointCount, double seedMinX, double seedMaxX, double seedMinY, double seedMaxY)
        {
            Random rand = new Random();

            int    pointsGenerated = 0;
            double maxRadius       = (seedMaxX - seedMinX) / 10.0;

            SeriesPoint[] points = new SeriesPoint[pointCount];

            while (pointsGenerated < pointCount)
            {
                double centerX = seedMinX + rand.NextDouble() * (seedMaxX - seedMinX);
                double centerY = seedMinY + rand.NextDouble() * (seedMaxY - seedMinY);

                int pointsInCluster = rand.Next(200, 500);
                if (pointsGenerated + pointsInCluster > pointCount)
                {
                    pointsInCluster = pointCount - pointsGenerated;
                }

                for (int i = 0; i < pointsInCluster; i++)
                {
                    double angleRad = Math.PI * 2.0 * rand.NextDouble();
                    double radius   = maxRadius * rand.NextDouble();
                    points[pointsGenerated + i].X = centerX + radius * Math.Cos(angleRad);
                    points[pointsGenerated + i].Y = centerY + radius * Math.Sin(angleRad);
                }
                pointsGenerated += pointsInCluster;
            }
            return(points);
        }
 private void inventoryChart_ObjectSelected(object sender, DevExpress.XtraCharts.HotTrackEventArgs e)
 {
     if (e.HitInfo.InSeries && e.AdditionalObject is SeriesPoint)
     {
         SeriesPoint currentPoint = (SeriesPoint)e.AdditionalObject;
         if (currentPoint.Tag.GetType() == typeof(InventoryChart.BO.CategoryItem))
         {
             InventoryChart.BO.CategoryItem currentCategory = (InventoryChart.BO.CategoryItem)currentPoint.Tag;
             int        categoryID            = currentCategory.CategoryID;
             DataFilter currentCategoryFilter = new DataFilter("ProductItems.CategoryID", "System.Int32", DataFilterCondition.Equal, categoryID);
             this.inventoryChart.Series["ProductUnits"].DataFilters.Clear();
             this.inventoryChart.Series["ProductUnits"].DataFilters.Add(currentCategoryFilter);
             this.inventoryChart.Series["CategoryUnits"].Visible = false;
             this.inventoryChart.Series["ProductUnits"].Visible  = true;
             this.inventoryChart.Legend.AlignmentHorizontal      = LegendAlignmentHorizontal.RightOutside;
             this.inventoryChart.Legend.AlignmentVertical        = LegendAlignmentVertical.Center;
             this.inventoryChart.Annotations[0].Visible          = true;
             PieSeriesView view = (PieSeriesView)this.inventoryChart.Series["ProductUnits"].View;
             view.Titles[0].Text = currentCategory.CategoryName;
         }
     }
     else if (e.HitInfo.InAnnotation && e.Object is TextAnnotation)
     {
         this.inventoryChart.Annotations[0].Visible          = false;
         this.inventoryChart.Series["CategoryUnits"].Visible = true;
         this.inventoryChart.Series["ProductUnits"].Visible  = false;
         this.inventoryChart.Legend.AlignmentHorizontal      = LegendAlignmentHorizontal.Center;
         this.inventoryChart.Legend.AlignmentVertical        = LegendAlignmentVertical.TopOutside;
     }
 }
Esempio n. 12
0
        public void CreatePoints(object obj)
        {
            this.Points.Clear();
            if (obj == null)
            {
                return;
            }

            String[] strArrays = this.ValueMembers.Split(';');
            int      i         = 0;

            foreach (String strItem in strArrays)
            {
                PropertyInfo proInfo = obj.GetType().GetProperty(strItem);
                if (proInfo == null)
                {
                    return;
                }

                object objValue = proInfo.GetValue(obj, null);

                i++;
                String strCaption = String.Empty;
                if (obj is BusinessObject)
                {
                    strCaption = DataConfigProvider.GetFieldCaption((obj as BusinessObject).AATableName, strItem);
                }

                SeriesPoint point = new SeriesPoint(strCaption, new object[] { objValue }, i);
                this.Points.Add(point);
            }
        }
Esempio n. 13
0
        void Load_Chart()
        {
            try
            {
                DataTable dtChartData = GV.MSSQL1.BAL_ExecuteQuery("SELECT TOP 15 DATECALLED,DATENAME(dw,DATECALLED)AS [Day] ,ISNULL(NO_OF_CONTACTS_VALIDATED,0)NO_OF_CONTACTS_VALIDATED,ISNULL(SELF_TARGET,0)SELF_TARGET,ISNULL(AVERAGE,0) AS Team FROM RM..DAILY_AGENT_PERFORMANCE_V1 WHERE DASHBOARD_ID=" + GV.sDashBoardID + " AND FLAG='" + GV.sAccessTo + "' AND AGENTNAME='" + GV.sEmployeeName + "' ORDER BY DATECALLED DESC");
                foreach (DataRow dr in dtChartData.Rows)
                {
                    SeriesPoint x1;
                    SeriesPoint x2;
                    SeriesPoint x3;
                    string      sXVal = ((DateTime)dr["DATECALLED"]).ToString("dd-MMM") + " / " + dr["Day"].ToString();
                    x1 = new SeriesPoint(sXVal, Convert.ToInt32(dr["SELF_TARGET"]));
                    x2 = new SeriesPoint(sXVal, Convert.ToInt32(dr["Team"]));
                    x3 = new SeriesPoint(sXVal, Convert.ToInt32(dr["NO_OF_CONTACTS_VALIDATED"]));
                    chartBarTarget.Series[0].Points.Add(x1);
                    chartBarTarget.Series[1].Points.Add(x2);
                    chartBarTarget.Series[2].Points.Add(x3);

                    chartBarTarget.Series[0].Points.Add(x1);
                    chartBarTarget.Series[1].Points.Add(x2);
                    chartBarTarget.Series[2].Points.Add(x3);
                }
            }
            catch (Exception ex)
            {
                GM.Error_Log(System.Reflection.MethodBase.GetCurrentMethod(), ex, true, true);
                //MessageBoxEx.Show(ex.Message, "Campaign Manager", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
        public MainWindow()
        {
            // 1. Created chart and configure in XAML.
            // 2. Created PointLineSeries and prepared for variable-interval data, progressing by X.
            InitializeComponent();

            // 3. Prepare data for line-series.
            var rand         = new Random();
            int pointCounter = 70;

            var data = new SeriesPoint[pointCounter];

            for (int i = 0; i < pointCounter; i++)
            {
                data[i].X = (double)i;
                data[i].Y = rand.Next(0, 100);
            }

            // 4. Set data-points into series.
            series.Points = data;

            // 5. Auto-scale X and Y axes.
            chart.ViewXY.ZoomToFit();

            CusomizeChart((Content as System.Windows.Controls.Grid).Children[0] as LightningChartUltimate);
        }
Esempio n. 15
0
        private void SwapAdditionalPoints(SeriesPoint pi, SeriesPoint pj)
        {
            for (int s = 1; s < chart.Series.Count; s++)
            {
                SeriesPoint swp1 = null;
                SeriesPoint swp2 = null;

                for (int i = 0; i < chart.Series[s].Points.Count; i++)
                {
                    if (Convert.ToDouble(chart.Series[s].Points[i].Argument) == Convert.ToDouble(pi.Argument))
                    {
                        swp1 = chart.Series[s].Points[i];
                    }
                    if (Convert.ToDouble(chart.Series[s].Points[i].Argument) == Convert.ToDouble(pj.Argument))
                    {
                        swp2 = chart.Series[s].Points[i];
                    }
                }

                if (swp1 != null && swp2 != null)
                {
                    chart.Series[s].Points.Swap(swp1, swp2);
                }
            }
        }
Esempio n. 16
0
        public void CreateGraph(ChartRenderModel model)
        {
            InitializeWebChartControl();

            Series series1 = new Series("My Series", ViewType.Line);

            series1.ArgumentDataMember = "Datum";
            series1.ArgumentScaleType  = ScaleType.DateTime;

            series1.ValueDataMembers[0]               = "Vrednost";
            series1.ValueScaleType                    = ScaleType.Numerical;
            series1.Label.ResolveOverlappingMode      = ResolveOverlappingMode.JustifyAllAroundPoint;
            series1.Label.ResolveOverlappingMinIndent = 1;
            series1.LabelsVisibility                  = DevExpress.Utils.DefaultBoolean.True;

            foreach (ChartRenderSimple item in model.chartRenderData)
            {
                SeriesPoint point1 = new SeriesPoint(item.Datum, new double[] { Convert.ToDouble(item.Vrednost) });
                point1.ToolTipHint = item.Datum.ToString("dd MMMM yyyy");
                series1.Points.Add(point1);
                series1.ToolTipEnabled      = DevExpress.Utils.DefaultBoolean.True;
                series1.ToolTipPointPattern = "Datum: {HINT}";
                series1.CrosshairEnabled    = DevExpress.Utils.DefaultBoolean.False;
            }

            WebChartControl1.Series.Add(series1);
            CreateEventsOnCharts(model, GetChartDivWidth(), GetChartsCount());

            ((XYDiagram2D)WebChartControl1.Diagram).GetAllAxesY()[0].Title.Visible   = true;
            ((XYDiagram2D)WebChartControl1.Diagram).GetAllAxesY()[0].Title.Alignment = StringAlignment.Center;
            ((XYDiagram2D)WebChartControl1.Diagram).GetAllAxesY()[0].Title.Text      = YAxisTitle;
        }
Esempio n. 17
0
        protected internal virtual void BoundDataChanged(SCChart chart, Annotation annotation)
        {
            if (string.IsNullOrWhiteSpace(SeriesName) || Argument == null)
            {
                return;
            }

            var series = chart.Chart.Series[SeriesName] ?? throw new Exception($"Cannot find series '{SeriesName}'.");

            SeriesPoint annotationPoint = null;

            switch (series.ActualArgumentScaleType)
            {
            case DevExpress.XtraCharts.ScaleType.Qualitative:
                var strArgument = Convert.ToString(Argument);
                foreach (SeriesPoint point in series.Points)
                {
                    if (point.Argument == strArgument)
                    {
                        annotationPoint = point;
                        break;
                    }
                }
                break;

            case DevExpress.XtraCharts.ScaleType.Numerical:
                var numArgument = Convert.ToDouble(Argument);
                foreach (SeriesPoint point in series.Points)
                {
                    if (point.NumericalArgument == numArgument)
                    {
                        annotationPoint = point;
                        break;
                    }
                }
                break;

            case DevExpress.XtraCharts.ScaleType.DateTime:
                var dateArgument = Convert.ToDateTime(Argument);
                foreach (SeriesPoint point in series.Points)
                {
                    if (point.DateTimeArgument == dateArgument)
                    {
                        annotationPoint = point;
                        break;
                    }
                }
                break;

            case DevExpress.XtraCharts.ScaleType.Auto:
                throw new Exception("Cannot determine series scale type to add annotation.");
            }

            if (annotationPoint == null)
            {
                throw new Exception("Cannot find anchor point for annotation.");
            }

            annotation.AnchorPoint = new SeriesPointAnchorPoint(annotationPoint);
        }
Esempio n. 18
0
    protected void ToSelect(object sender, EventArgs e)
    {
        YxBtn.SetViewState(divSel);
        ASPxGridView1.DataBind();
        WebChartControl1.Series.Clear();
        ReportData rep = new ReportData();
        DataTable  dt  = rep.Report7(ASPxDateEdit1.Text, ASPxDateEdit2.Text, "");

        WebChartControl1.Series.Clear();

        Series series1 = new Series("数量", ViewType.Bar);

        series1.Label.Visible = false;
        //Series series2 = new Series("金额", ViewType.Bar);
        //series2.Label.Visible = false;
        for (int i = 0; i < dt.Rows.Count && i < 15; i++)
        {
            string cCusName = dt.Rows[i]["cCusName"].ToString();
            if (cCusName == "")
            {
                cCusName = "无客户";
            }
            SeriesPoint point1 = new SeriesPoint(cCusName, dt.Rows[i]["iQuantity"].ToString());
            series1.Points.Add(point1);
            //SeriesPoint point = new SeriesPoint(dt.Rows[i]["cCusName"].ToString(), dt.Rows[i]["iMoney"].ToString());
            //series2.Points.Add(point);
        }


        WebChartControl1.Series.Add(series1);
        //WebChartControl1.Series.Add(series2);
        ((XYDiagram)WebChartControl1.Diagram).AxisX.Label.Angle = 330;
    }
Esempio n. 19
0
    /// <summary>
    /// 绘制图形
    /// </summary>
    /// <param name="control">图表控件</param>
    /// <param name="seriesName">系列名</param>
    /// <param name="type">类型</param>
    /// <param name="dt">数据源</param>
    /// <param name="column1"></param>
    /// <param name="column2"></param>
    public static void DrawChart(DevExpress.XtraCharts.Web.WebChartControl control, string seriesName, ViewType type, DataTable dt, string column1, string column2)
    {
        Series series = new Series(seriesName, type);

        series.ArgumentScaleType   = ScaleType.Qualitative;
        series.ArgumentDataMember  = column1;
        series.ValueDataMembers[0] = column2;
        DataTable table = dt;
        // series.DataSource = table;
        SeriesPoint point = null;

        for (int i = 0; i < table.Rows.Count; i++)
        {
            point = new SeriesPoint(table.Rows[i][column1].ToString(), Convert.ToDouble(table.Rows[i][column2].ToString()));
            series.Points.Add(point);
        }

        control.Series.Add(series);


        //针对饼图的特殊处理
        if (type == ViewType.Pie)
        {
            //设置显示方式(Argument:显示图例说明,ArgumentAndValues:显示图例内容和数据)
            series.Label.PointOptions.PointView = PointView.ArgumentAndValues;
            //设置数据显示形式(Percent:百分比,Currency:货币类型,数据前添加¥,Scientific:科学计数法)
            series.Label.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
            //数据是否保留小数(0:不保留小数位,1保留一位小数,2保留两位小数)
            series.Label.PointOptions.ValueNumericOptions.Precision = 0;

            //数据以百分比显示时只能是Default和None
            ((PieSeriesLabel)series.Label).ResolveOverlappingMode = ResolveOverlappingMode.Default;
        }
    }
Esempio n. 20
0
        private void draw()
        {
            SolidColorBrush[] brushesArray = new SolidColorBrush[]
            {
                pBrushes.Blue,
                pBrushes.Red,
                pBrushes.Lime,
                pBrushes.Purple,
                pBrushes.SkyBlue,
                pBrushes.Orange
            };

            int k = 0;

            foreach (var kvp in nbEtudiantFiliere)
            {
                BarSeries3D      bar         = new BarSeries3D();
                SeriesPoint      seriesPoint = new SeriesPoint();
                CustomLegendItem legendItem  = new CustomLegendItem();

                seriesPoint.Argument = kvp.Key;
                seriesPoint.Value    = kvp.Value;

                bar.Points.Add(seriesPoint);
                bar.LabelsVisibility = true;

                legendItem.Text        = kvp.Key;
                legendItem.MarkerBrush = brushesArray[k];
                k++;


                this.Diagram3D.Series.Add(bar);
                this.legend1.CustomItems.Add(legendItem);
            }
        }
Esempio n. 21
0
        public void SetPoints(List <SeriesPoint> points1, List <SeriesPoint> points2)
        {
            this.chartControl2.Series[0].Points.Clear();
            this.chartControl2.Series[1].Points.Clear();
            mAxisDic.Clear();

            int i = 0;

            foreach (SeriesPoint point in points1)
            {
                i++;
                SeriesPoint point1 = new SeriesPoint(i, point.Values[0]);
                mAxisDic.Add(i, point.Tag.ToString());
                point1.Tag = point.Tag;
                this.chartControl2.Series[0].Points.Add(point1);
                addAnnotation(point, i);
            }

            i = 0;
            foreach (SeriesPoint point in points2)
            {
                i++;
                SeriesPoint point2 = new SeriesPoint(i, point.Values[0]);
                point2.Tag = point.Tag;
                this.chartControl2.Series[1].Points.Add(point2);
                addAnnotation(point, i);
            }
        }
        protected SeriesPoint[] CreateSeriesPoints(StrategyDataItemInfo info)
        {
            object           dataSource = GetDataSource(info);
            IResizeableArray array      = dataSource as IResizeableArray;

            SeriesPoint[] points = new SeriesPoint[array.Count];
            PropertyInfo  ap     = array.GetItem(0).GetType().GetProperty(info.GetArgumentDataMember(), BindingFlags.Public | BindingFlags.Instance);
            PropertyInfo  vp     = array.GetItem(0).GetType().GetProperty(info.FieldName, BindingFlags.Public | BindingFlags.Instance);

            Func <object, object> af = MakeAccessor(array.GetItem(0).GetType(), ap.PropertyType, info.GetArgumentDataMember());
            Func <object, object> vf = MakeAccessor(array.GetItem(0).GetType(), vp.PropertyType, info.FieldName);

            if (ap.PropertyType == typeof(DateTime))
            {
                for (int i = 0; i < array.Count; i++)
                {
                    object item = array.GetItem(i);
                    points[i] = new SeriesPoint((DateTime)af(item), (double)vf(item));
                }
            }
            else if (ap.PropertyType == typeof(double))
            {
                for (int i = 0; i < array.Count; i++)
                {
                    object item = array.GetItem(i);
                    points[i] = new SeriesPoint((double)af(item), (double)vf(item));
                }
            }
            return(points);
        }
Esempio n. 23
0
        public static Series CreateSeries(string typechar, Dictionary <string, string> diction)
        {
            Series ser = null;
            Dictionary <string, string> dicts = diction;

            switch (typechar)
            {
            case "柱状图":
                ser = new Series("", ViewType.Bar);
                break;

            case "线状图":
                ser = new Series("", ViewType.Line);
                break;

            default:
                ser = new Series("", ViewType.Bar);
                break;
            }

            ser.ArgumentScaleType = ScaleType.Qualitative;
            foreach (var item in dicts)
            {
                SeriesPoint sp = new SeriesPoint(item.Key, item.Value);
                ser.Points.Add(sp);
            }
            SecondaryAxisY sy = new SecondaryAxisY();

            sy.GridSpacing = 1;
            return(ser);
        }
Esempio n. 24
0
        /// <summary>
        /// 硅含量数据更新
        /// </summary>
        /// <param name="Sipred"></param>
        private void SipredLineUpdate(double Sipred)
        {
            //**************************************************
            //***********************Si预测数据折线图*************
            if (_chartSi == null)
            {
                return;
            }

            //Disable updates, to prevent several extra refreshes
            _chartSi.BeginUpdate();

            //Array for 1 point
            SeriesPoint[] points = new SeriesPoint[1];

            //Convert 'Now' to X value
            _previousX = _chartSi.ViewXY.XAxes[0].DateTimeToAxisValue(DateTime.Now);

            //Store the X value
            points[0].X = _previousX;

            //Randomize and store Y value
            points[0].Y = Sipred;

            //Add the new point into end of first PointLineSeries
            _chartSi.ViewXY.PointLineSeries[0].AddPoints(points, false);

            //Set real-time monitoring scroll position, to latest X point.
            //ScrollPosition indicates the position where monitoring is currently progressing.
            _chartSi.ViewXY.XAxes[0].ScrollPosition = _previousX;

            //Allow updates again, and update
            _chartSi.EndUpdate();
        }
Esempio n. 25
0
 public void FillChart(DataTable dTable)
 {
     foreach (DataRow row in dTable.Rows)
     {
         string      argument = row["FIO"].ToString();
         double      need     = Convert.ToDouble(row["NeedTimeMinute"]);
         double      total    = Convert.ToDouble(row["Total_Time"]);
         double[]    value1   = new double[1];
         double[]    value2   = new double[1];
         SeriesPoint w1       = new SeriesPoint();
         w1.Argument    = argument;
         value1[0]      = Math.Round(total / 60, 2);
         w1.Values      = value1;
         w1.ToolTipHint = row["TotalTime"].ToString();
         //xrChart1.Series[1].Points.Add(new SeriesPoint(argument,value1));
         xrChart1.Series[1].Points.Add(w1);
         SeriesPoint w2 = new SeriesPoint();
         w2.Argument    = argument;
         value2[0]      = Math.Round(need / 60, 2);
         w2.Values      = value2;
         w2.ToolTipHint = row["ttime"].ToString();
         //xrChart1.Series[2].Points.Add(new SeriesPoint(argument, value2));
         xrChart1.Series[2].Points.Add(w2);
     }
 }
Esempio n. 26
0
        public void SortChartSeries()
        {
            for (int i = 0; i < chart.Series[0].Points.Count; i++)
            {
                SeriesPoint p1       = chart.Series[0].Points[i];
                SeriesPoint pointMax = p1;
                int         indexMax = i;

                double secondItemsMax = GetAdditionalValues(p1);

                for (int j = i + 1; j < chart.Series[0].Points.Count; j++)
                {
                    SeriesPoint p2 = chart.Series[0].Points[j];

                    double secondItems = GetAdditionalValues(p2);

                    if (p2.Values[0] + secondItems > pointMax.Values[0] + secondItemsMax)
                    {
                        pointMax       = p2;
                        secondItemsMax = secondItems;
                        indexMax       = j;
                    }
                }

                chart.Series[0].Points.Swap(p1, pointMax);
                SwapAdditionalPoints(p1, pointMax);
            }
        }
Esempio n. 27
0
    /// <summary>
    /// 查询EL不良分布之后绘制分析图形。
    /// </summary>
    /// <param name="dtSource">源数据表。</param>
    private void DrawChart(DataTable dtSource, int queryType)
    {
        XYDiagram diagram = this.chartELDefectYield.Diagram as XYDiagram;

        if (diagram == null)
        {
            return;
        }
        diagram.AxisX.Label.Angle = -45;
        this.chartELDefectYield.Series.Clear();
        if (dtSource.Rows.Count <= 0 || queryType == 0)
        {
            this.chartELDefectYield.Series.Add(new Series());
            return;
        }
        foreach (DataRow dr in dtSource.Rows)
        {
            string promodelName = Convert.ToString(dr["ROOM_NAME"]);
            if (promodelName == "ALL")
            {
                continue;
            }

            string colValue = Convert.ToString(dr["COL_VALUE"]);
            string colName  = dic[colValue];
            string sname    = string.Format("{0}{1}", dr["ROOM_NAME"], colName);
            Series s        = null;
            if (colValue.EndsWith("_RATE"))
            {
                s = new Series(sname, ViewType.Line);
                PointSeriesLabel label = s.Label as PointSeriesLabel;
                LineSeriesView   sv    = s.View as LineSeriesView;
                sv.LineMarkerOptions.Kind = MarkerKind.Diamond;
                sv.AxisY = diagram.SecondaryAxesY[0];
                s.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
            }
            else
            {
                s = new Series(sname, ViewType.Bar);
            }
            for (int i = 3; i < dtSource.Columns.Count - 1; i++)
            {
                string      argument = dtSource.Columns[i].ColumnName;
                SeriesPoint p        = null;
                if (string.IsNullOrEmpty(Convert.ToString(dr[i])))
                {
                    p         = new SeriesPoint(argument);
                    p.IsEmpty = true;
                }
                else
                {
                    double val = Convert.ToDouble(dr[i]);
                    p = new SeriesPoint(argument, val);
                }
                s.Points.Add(p);
            }
            chartELDefectYield.Series.Add(s);
        }
    }
Esempio n. 28
0
        private void RenderData(int month, int year, bool firstLoad)
        {
            chartControl1.Titles[0].Text = "กราฟแสดงยอดขายรายเดือน";
            Param.DataSet = new DataSet();
            DataTable data = new DataTable();

            if ((bool)_JSON.success)
            {
                data = new DataTable();
                data.Columns.Add("Name", typeof(string));
                data.Columns.Add("Pay", typeof(double));
                data.Columns.Add("NotPay", typeof(double));
                data.PrimaryKey = new DataColumn[] { data.Columns["Name"] };
                data.TableName  = "Data-headSale";

                Hashtable hash = new Hashtable();
                var       idx  = 0;
                var       cnt  = _JSON.result.Count;
                for (int i = 0; i < cnt; i++)
                {
                    if (!data.Rows.Contains(_JSON.result[i].headSale.ToString()))
                    {
                        var val = _JSON.result[i].headSale.ToString();
                        data.Rows.Add(val, 0, 0);
                        hash.Add(val, idx++);
                    }
                    var column  = (bool)_JSON.result[i].isPay ? "Pay" : "NotPay";
                    var current = data.Rows[hash[_JSON.result[i].headSale.ToString()]][column];
                    data.Rows[hash[_JSON.result[i].headSale.ToString()]][column] = current + (int)_JSON.result[i].totalPrice;
                }

                SideBySideBarSeriesView sideBySideBarSeriesView = new SideBySideBarSeriesView();
                sideBySideBarSeriesView.BarWidth = 10D;

                _SERIES = new Series[idx];
                for (int i = 0; i < idx; i++)
                {
                    _SERIES[i]      = new Series();
                    _SERIES[i].Name = data.Rows[i]["Name"].ToString() == "" ? " " : data.Rows[i]["Name"].ToString();
                    _SERIES[i].Points.Clear();
                    SeriesPoint seriesPoint = new SeriesPoint(_SERIES[i].Name, (double)data.Rows[i]["Pay"]);
                    _SERIES[i].Points.Add(seriesPoint);
                    _SERIES[i].View = sideBySideBarSeriesView;
                    //_SERIES[i].CrosshairLabelPattern = "{V:#,#}";
                }

                chartControl1.SeriesSerializable = _SERIES;
                chartControl1.Visible            = true;
            }
            else
            {
                chartControl1.Visible = false;
            }

            if (splashScreenManager.IsSplashFormVisible)
            {
                splashScreenManager.CloseWaitForm();
            }
        }
        private void InitPara()
        {
            ChartHitInfo     hitInfo = pHitInfo;
            Series           serie = hitInfo.Series;
            SeriesPoint      sPoint = hitInfo.SeriesPoint;
            SeriesCollection seriesColl = hitInfo.Diagram.Series;
            double           sum1 = 0, sum2 = 0, val = 0;
            string           year      = sPoint.Argument + "年";
            string           titleName = null;
            List <string>    adds      = new List <string>();

            foreach (Series series in seriesColl)
            {
                if (series.GetType() == serie.GetType())
                {
                    SeriesPointCollection pointColl = series.Points;
                    foreach (SeriesPoint p in pointColl)
                    {
                        if (p.Argument == sPoint.Argument)
                        {
                            SeriesPoint newPoint = new SeriesPoint();
                            newPoint.Argument = series.DisplayName;
                            newPoint.Value    = p.Value;
                            pie1.Points.Add(newPoint);
                            sum1 += p.Value;
                        }
                    }
                }
                else
                {
                    SeriesPointCollection pointColl = series.Points;
                    foreach (SeriesPoint p in pointColl)
                    {
                        if (p.Argument == sPoint.Argument && !adds.Contains(p.Series.DisplayName))
                        {
                            adds.Add(p.Series.DisplayName);
                            SeriesPoint newPoint = new SeriesPoint();
                            newPoint.Argument = series.DisplayName;
                            newPoint.Value    = p.Value;
                            pie2.Points.Add(newPoint);
                            if (string.Compare(serie.Name.Split('_')[0], p.Series.Name.Split('_')[0]) == 0)
                            {
                                val       = p.Value;
                                titleName = p.Series.DisplayName;
                            }
                            sum2 += p.Value;
                        }
                    }
                }
            }

            double ratio1       = sPoint.Value / sum1;
            double ratio2       = val / sum2;
            string displayName1 = year + hitInfo.Series.DisplayName + "占比:" + string.Format("{0:P0}", ratio1);
            string displayName2 = year + titleName + "占比:" + string.Format("{0:P0}", ratio2);

            title1.Content = displayName1;
            title2.Content = displayName2;
        }
Esempio n. 30
0
        public virtual void BoundDataChanged(ChartContext chartContext, Annotation annotation)
        {
            switch (ParameterSetName)
            {
            case "Series":
                var series = chartContext.Chart.Series[SeriesName] ?? throw new Exception($"Cannot find series '{SeriesName}'.");

                SeriesPoint annotationPoint = null;
                switch (series.ActualArgumentScaleType)
                {
                case ScaleType.Qualitative:
                    var strArgument = Convert.ToString(Argument);
                    foreach (SeriesPoint point in series.Points)
                    {
                        if (point.Argument == strArgument)
                        {
                            annotationPoint = point;
                            break;
                        }
                    }
                    break;

                case ScaleType.Numerical:
                    var numArgument = Convert.ToDouble(Argument);
                    foreach (SeriesPoint point in series.Points)
                    {
                        if (point.NumericalArgument == numArgument)
                        {
                            annotationPoint = point;
                            break;
                        }
                    }
                    break;

                case ScaleType.DateTime:
                    var dateArgument = Convert.ToDateTime(Argument);
                    foreach (SeriesPoint point in series.Points)
                    {
                        if (point.DateTimeArgument == dateArgument)
                        {
                            annotationPoint = point;
                            break;
                        }
                    }
                    break;

                case ScaleType.Auto:
                    throw new Exception("Cannot determine series scale type to add annotation.");
                }

                if (annotationPoint == null)
                {
                    throw new Exception("Cannot find anchor point for annotation.");
                }

                annotation.AnchorPoint = new SeriesPointAnchorPoint(annotationPoint);
                break;
            }
        }
        private void HomeTaps_SelectedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e)
        {
            try
            {
                switch (HomeTaps.SelectedTabPageIndex)
                {
                case 0: btnDisplay_Click(null, null);
                    break;

                case 1:
                    ZeroItemGrid.DataSource = ProductManager.GetZeroProductQuantity(0);
                    break;

                case 2:
                    btnDisplayProductsUponQty_Click(null, null);
                    break;

                case 3:
                    simpleButton1_Click(null, null);
                    break;

                case 4:
                    SortedList <int, decimal> PrfoitItems = new SortedList <int, decimal>();
                    PrfoitItems = ProductManager.GetProfit();
                    Series s  = new Series("الربحية", ViewType.Bar);
                    Series s1 = new Series("البيع", ViewType.Bar);

                    foreach (int pCode in PrfoitItems.Keys)
                    {
                        decimal k;
                        PrfoitItems.TryGetValue(pCode, out k);
                        Product     p  = new ProductManager().Get(pCode);
                        SeriesPoint sp = new SeriesPoint(p.Product_Name, k);
                        s.Points.Add(sp);


                        s1.Points.Add(new SeriesPoint(p.Product_Name, p.SalesDetails.Sum(sm => sm.Qty)));
                    }
                    s1.SeriesPointsSortingKey = SeriesPointKey.Value_1;
                    s1.SeriesPointsSorting    = SortingMode.Descending;

                    s.SeriesPointsSortingKey = SeriesPointKey.Value_1;
                    s.SeriesPointsSorting    = SortingMode.Descending;
                    ProfitChart.Series.Clear();
                    ProfitChart.Series.Add(s);
                    ProfitChart.Series.Add(s1);


                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 32
0
 private void chart_CustomDrawCrosshair(object sender, CustomDrawCrosshairEventArgs e)
 {
     foreach (CrosshairElement element in e.CrosshairElements)
     {
         SeriesPoint point = element.SeriesPoint;
         label1.Text = point.Argument.ToString();//显示要显示的文字
     }
 }
        private void RenderData(int month, int year, bool firstLoad)
        {
            chartControl1.Titles[0].Text = "กราฟแสดงยอดขายรายเดือน";
            Param.DataSet = new DataSet();
            DataTable data = new DataTable();

            if ((bool)_JSON.success)
            {
                data = new DataTable();
                data.Columns.Add("Name", typeof(string));
                data.Columns.Add("Pay", typeof(double));
                data.Columns.Add("NotPay", typeof(double));
                data.PrimaryKey = new DataColumn[] { data.Columns["Name"] };
                data.TableName = "Data-headSale";

                Hashtable hash = new Hashtable();
                var idx = 0;
                var cnt = _JSON.result.Count;
                for (int i = 0; i < cnt; i++)
                {
                    if (!data.Rows.Contains(_JSON.result[i].headSale.ToString()))
                    {
                        var val = _JSON.result[i].headSale.ToString();
                        data.Rows.Add(val, 0, 0);
                        hash.Add(val, idx++);
                    }
                    var column = (bool)_JSON.result[i].isPay ? "Pay" : "NotPay";
                    var current = data.Rows[hash[_JSON.result[i].headSale.ToString()]][column];
                    data.Rows[hash[_JSON.result[i].headSale.ToString()]][column] = current+(int)_JSON.result[i].totalPrice;
                }

                SideBySideBarSeriesView sideBySideBarSeriesView = new SideBySideBarSeriesView();
                sideBySideBarSeriesView.BarWidth = 10D;

                _SERIES = new Series[idx];
                for (int i = 0; i < idx; i++)
                {
                    _SERIES[i] = new Series();
                    _SERIES[i].Name = data.Rows[i]["Name"].ToString() == "" ? " " : data.Rows[i]["Name"].ToString();
                    _SERIES[i].Points.Clear();
                    SeriesPoint seriesPoint = new SeriesPoint(_SERIES[i].Name, (double)data.Rows[i]["Pay"]);
                    _SERIES[i].Points.Add(seriesPoint);
                    _SERIES[i].View = sideBySideBarSeriesView;
                    //_SERIES[i].CrosshairLabelPattern = "{V:#,#}";
                }

                chartControl1.SeriesSerializable = _SERIES;
                chartControl1.Visible = true;

            }
            else
            {
                chartControl1.Visible = false;
            }

            if (splashScreenManager.IsSplashFormVisible)
                splashScreenManager.CloseWaitForm();
        }
Esempio n. 34
0
        public static ChartControl CreatPieChart(SolidColorBrush forecolor, string ChartTitle, List<ChartDataChartCommonData> dtchart)
        {
            mausac = 0;
            ChartControl abc = new ChartControl();
            SimpleDiagram2D dg1 = new SimpleDiagram2D();
            //liabc.Titles.Clear();
            //Tao Tile cho Chart
            Title nt = new Title();
            nt.Content = ChartTitle;
            nt.Foreground = forecolor;
            abc.Titles.Add(nt);
            //Tinh so Series
            List<string> countsr = (from p in dtchart group p by p.Series into g select g.Key).ToList();
            //Creat Diagram
            abc.Diagram = dg1;
            GridControl dtl = new GridControl();
            for (int i = 0; i < countsr.Count; i++)
            {
                PieSeries2D dgs1 = new PieSeries2D();
                dgs1.HoleRadiusPercent = 0;//Thiet lap khoang trong tu tam hinh tron den duong tron
                dgs1.ArgumentScaleType = ScaleType.Auto;
                foreach (ChartDataChartCommonData dr in dtchart)//Tao cac point
                {
                    if (dr.Series == countsr.ElementAt(i))
                    {
                        //Tao Series
                        SeriesPoint sr1 = new SeriesPoint();
                        sr1.Argument = dr.Agrument + ":" + dr.Value.ToString();
                        sr1.Value = dr.Value;
                        sr1.Tag = mausac.ToString();
                        dgs1.Points.Add(sr1);
                        mausac++;
                    }
                }
                dgs1.Label = new SeriesLabel();//Tao Label cho Diagram
                PieSeries.SetLabelPosition(dgs1.Label, PieLabelPosition.TwoColumns);
                dgs1.Label.RenderMode = LabelRenderMode.RectangleConnectedToCenter;
                dgs1.LabelsVisibility = true;//Hien thi Lablel cho tung vung
                PointOptions pn1 = new PointOptions();
                pn1.PointView = PointView.ArgumentAndValues;
                pn1.Pattern = "{A} ({V})";//Tao mau chu thich
                NumericOptions nbm1 = new NumericOptions();//Tao Kieu hien thi
                nbm1.Format = NumericFormat.Percent;
                pn1.ValueNumericOptions = nbm1;
                PieSeries2D.SetPercentOptions(pn1, new PercentOptions() { ValueAsPercent = true, PercentageAccuracy = 5 });//Quy dinh ty le phan tram chinh xac
                dgs1.PointOptions = pn1;
                dg1.Series.Add(dgs1);
                //Tao chu thich
                dgs1.LegendPointOptions = pn1;

            }
            abc.Legend = new Legend();
            //End tao chu thich
            //Set mau sac cho seriespont
            abc.CustomDrawSeriesPoint += abc_CustomDrawSeriesPoint;
            return abc;
        }
Esempio n. 35
0
 private void addAnnotation(SeriesPoint point, int zIndex)
 {
     TextAnnotation annotation = new TextAnnotation(point.Tag.ToString(), point.Tag.ToString());
     if (annotation != null)
     {
         //annotation.Font = new Font(annotation.Font.FontFamily, annotation.Font.Size);
         //Specify the text annotation position.
         annotation.AnchorPoint = new SeriesPointAnchorPoint(point);
         annotation.ShapePosition = new RelativePosition();
         RelativePosition position = annotation.ShapePosition as RelativePosition;
         position.ConnectorLength = 0;
         position.Angle = 270;
         //annotation.RuntimeMoving = true;
         annotation.BackColor = Color.Transparent;
         annotation.ConnectorStyle = AnnotationConnectorStyle.None;
         annotation.AutoSize = false;
         annotation.Width = 20;
         annotation.Border.Color = Color.Transparent;
         annotation.ZOrder = zIndex;
         //Add an annotaion to the annotation repository.
         this.chartControl1.AnnotationRepository.Add(annotation);
     }
 }
Esempio n. 36
0
		protected virtual void Chart_ObjectSelected(object sender, HotTrackEventArgs e) {
			if (e.Object is Series) {
				e.Cancel = !SeriesSelection;
                if(SeriesSelection) {
                    this.seriesSelected = (Series)e.Object;
                    this.pointSelected = e.AdditionalObject as SeriesPoint;
                }
			} else {
                if(AllowSelectAnotherObject(e.Object)) {
                    this.selectedAnotherObject = e.Object;
                    e.Cancel = false;
                }
                else {
                    this.selectedAnotherObject = null;
                    e.Cancel = true;
                    ChartControl.ClearSelection(false);
                }
                if(SeriesSelection) {
                    this.seriesSelected = null;
                    this.pointSelected = null;
                }
			}
			UpdateControls();
		}
Esempio n. 37
0
 private void chartControl1_MouseUp(object sender, MouseEventArgs e)
 {
     m_isDragging = false;
     _sp_dragging = null;
     timer4.Enabled = false;
 }
        public void LoadGraph()
        {
            int t1 = System.Environment.TickCount;

            if (_report.State != Report.StateEnum.Executed)
                return;

            _chCtrl.BeginInit();

            bool rotateGraph = false;
            bool pivotAxes = ((_report.GraphOptions & OlapReport.GraphOptionsEnum.Pivot) > 0);

            int seriesPosCount = (pivotAxes ? _report.Cellset.Axis1PosCount : _report.Cellset.Axis0PosCount);
            int seriesMemCount = (pivotAxes ? _report.Cellset.Axis1TupleMemCount : _report.Cellset.Axis0TupleMemCount);
            int catPosCount = (pivotAxes ? _report.Cellset.Axis0PosCount : _report.Cellset.Axis1PosCount);
            int catMemCount = (pivotAxes ? _report.Cellset.Axis0TupleMemCount : _report.Cellset.Axis1TupleMemCount);
            if (seriesPosCount == 0 || catPosCount == 0)
                return;

            Size size = new Size(_report.GraphWidth, _report.GraphHeight);
            size = this.AdjustGraphWidth(size, _report.GraphType);

            // limit number of series
            if (seriesPosCount > __MaxSeriesCount)
                seriesPosCount = __MaxSeriesCount;
            if (_report.GraphType == OlapReport.GraphTypeEnum.Pie || _report.GraphType == OlapReport.GraphTypeEnum.PieBrokenApart)
                if (seriesPosCount > __MaxPieCount)
                    seriesPosCount = __MaxPieCount;

            // limit number of categories
            if (catPosCount > __MaxCategoriesCount)
                catPosCount = __MaxCategoriesCount;

            bool showValues = (_report.GraphOptions & OlapReport.GraphOptionsEnum.ShowValues) > 0;
            bool showSeries = (_report.GraphOptions & OlapReport.GraphOptionsEnum.ShowSeries) > 0;
            bool showCats = (_report.GraphOptions & OlapReport.GraphOptionsEnum.ShowCategories) > 0;
            bool setScaling = _report.GraphType != OlapReport.GraphTypeEnum.Pie && ((_report.GraphOptions & OlapReport.GraphOptionsEnum.ScalingBySeries) > 0);
            bool setPerc = !setScaling && ((_report.GraphOptions & OlapReport.GraphOptionsEnum.PercentByCategories) > 0);
            byte graphPieColumns = (_report.GraphPieColumns == 0 ?
                Convert.ToByte(Math.Sqrt(seriesPosCount)) : _report.GraphPieColumns);
            byte graphMixedLinePos = _report.GraphMixedLinePosition;
            graphMixedLinePos = (graphMixedLinePos <= 0 || graphMixedLinePos > seriesPosCount ? (byte)1 : graphMixedLinePos);

            // theme
            if (_report.GraphTheme != null && _report.GraphTheme != "")
                _chCtrl.AppearanceName = _report.GraphTheme;

            // create series
            for (int i = 0; i < seriesPosCount; i++)
            {
                string name = "";
                for (int j = 0; j < seriesMemCount; j++)
                    name += (j == 0 ? "" : " | ") + (pivotAxes ? _report.Cellset.GetCellsetMember(1, j, i).Name : _report.Cellset.GetCellsetMember(0, j, i).Name);

                Series series = new Series();
                series.Name = name;

                // type
                if (_report.GraphType == OlapReport.GraphTypeEnum.Pie || _report.GraphType == OlapReport.GraphTypeEnum.PieBrokenApart)
                {
                    // if pie, each of series is displayed as individual graph
                    if (_report.GraphType == OlapReport.GraphTypeEnum.PieBrokenApart)
                        _chCtrl.Series.Clear();
                    _chCtrl.Series.Add(series);

                    series.ChangeView(ViewType.Pie);

                    PiePointOptions ppo = (PiePointOptions)series.PointOptions;
                    PieSeriesView psw = (PieSeriesView)series.View;
                    PieSeriesLabel psl = (PieSeriesLabel)series.Label;

                    psl.Position = PieSeriesLabelPosition.TwoColumns;
                    series.PointOptions.PointView = PointView.Undefined;

                    if (_report.GraphType == OlapReport.GraphTypeEnum.Pie)
                    {
                        SimpleDiagram sd = new SimpleDiagram();
                        sd.LayoutDirection = LayoutDirection.Horizontal;
                        sd.Dimension = graphPieColumns;
                        _chCtrl.Diagram = sd;
                    }

                    // legend
                    if (showCats)
                        _chCtrl.Legend.Visible = false;

                    series.Label.OverlappingOptions.ResolveOverlapping = true;
                    series.LegendPointOptions.PointView = PointView.Argument;

                    _chCtrl.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Center;
                    _chCtrl.Legend.AlignmentVertical = LegendAlignmentVertical.BottomOutside;
                    _chCtrl.Legend.Direction = LegendDirection.LeftToRight;

                    // series title
                    SeriesTitle sTitle = new SeriesTitle();
                    sTitle.Text = name;
                    sTitle.Alignment = StringAlignment.Center;
                    sTitle.Dock = ChartTitleDockStyle.Bottom;
                    psw.Titles.Add(sTitle);
                }
                else
                {
                    // diagram
                    if (_chCtrl.Diagram == null)
                        _chCtrl.Diagram = new XYDiagram();
                    XYDiagram diag = (XYDiagram)_chCtrl.Diagram;

                    //// panes
                    //if (_report.GraphType == OlapReport.GraphTypeEnum.LineWithBars && graphMixedLinePos <= seriesPosCount && diag.Panes.Count == 0)
                    //{
                    //    // add new pane
                    //    XYDiagramPane pane = new XYDiagramPane();
                    //    pane.Visible = true;
                    //    pane.SizeMode = PaneSizeMode.UseWeight;
                    //    pane.Weight = 0.66;
                    //    diag.PaneLayoutDirection = PaneLayoutDirection.Vertical;
                    //    diag.Panes.Add(pane);

                    //    // set default pane weight
                    //    diag.DefaultPane.SizeMode = PaneSizeMode.UseWeight;
                    //    diag.DefaultPane.Weight = 0.33;
                    //}

                    // add series
                    _chCtrl.Series.Add(series);

                    // add series to secondary pane if needed (in case of LineWithBars)
                    if (diag.Panes.Count > 0 && i != graphMixedLinePos - 1)
                        ((XYDiagramSeriesViewBase)series.View).Pane = diag.Panes[0];

                    if (_report.GraphType == OlapReport.GraphTypeEnum.BarVertical)
                    {
                        series.ChangeView(ViewType.Bar);
                    }
                    else if (_report.GraphType == OlapReport.GraphTypeEnum.BarHorizontal)
                    {
                        series.ChangeView(ViewType.Bar);
                        rotateGraph = true;
                    }
                    else if (_report.GraphType == OlapReport.GraphTypeEnum.StackedBarVertical)
                        series.ChangeView(ViewType.StackedBar);
                    else if (_report.GraphType == OlapReport.GraphTypeEnum.StackedBarHorizontal)
                    {
                        series.ChangeView(ViewType.StackedBar);
                        rotateGraph = true;
                    }
                    else if (_report.GraphType == OlapReport.GraphTypeEnum.LineHorizontal)
                        series.ChangeView(ViewType.Line);
                    else if (_report.GraphType == OlapReport.GraphTypeEnum.LineWithBars)
                    {
                        if (i == graphMixedLinePos - 1)
                        {
                            //if (!setScaling)
                            //{
                            //    // create secondary axis
                            //    SecondaryAxisY axisY = new SecondaryAxisY(series.Name);
                            //    axisY.Visible = true;
                            //    axisY.Title.Text = series.Name;
                            //    axisY.Title.Visible = true;
                            //    axisY.Alignment = AxisAlignment.Near;
                            //    ((XYDiagram)_chCtrl.Diagram).SecondaryAxesY.Add(axisY);
                            //    ((XYDiagramSeriesViewBase)series.View).AxisY = axisY;

                            //    // set default axis title
                            //    ((XYDiagram)_chCtrl.Diagram).AxisY.Title.Text = "Bar axis";
                            //    ((XYDiagram)_chCtrl.Diagram).AxisY.Title.Visible = true;
                            //}

                            // change view
                            series.ChangeView(ViewType.Line);
                        }
                        else
                            series.ChangeView(ViewType.Bar);
                    }

                    // 20 pixels per label (250 pixels for legend), othervise overlapping resolution will never finish
                    if ((size.Width - 250) / catPosCount > 20)
                    {
                        series.Label.OverlappingOptions.ResolveOverlapping = true;
                        PointOverlappingOptions poo = series.Label.OverlappingOptions as PointOverlappingOptions;
                        if (poo != null)
                            poo.AttractToMarker = true;
                    }

                    series.LegendText = name;
                    series.ShowInLegend = true;
                    series.ValueScaleType = ScaleType.Numerical;
                    series.PointOptions.PointView = PointView.Undefined;
                    series.LegendPointOptions.PointView = PointView.SeriesName;
                    series.Visible = true;

                    // labels orientation
                    diag.Rotated = rotateGraph;
                    if (rotateGraph)
                    {
                        diag.AxisY.Label.Antialiasing = true;
                        diag.AxisY.Label.Angle = 315;
                    }
                    else
                    {
                        diag.AxisX.Label.Antialiasing = true;
                        diag.AxisX.Label.Angle = 315;
                    }

                    // if scaling
                    if (setScaling)
                        diag.AxisY.Visible = false;
                }

                // prepare scaling ranges
                double scalingMin = double.MaxValue;
                double scalingMax = double.MinValue;
                if (setScaling)
                {
                    for (int l = 0; l < catPosCount; l++)
                    {
                        string val = (pivotAxes ? _report.Cellset.GetCell(l, i).Value : _report.Cellset.GetCell(i, l).Value);
                        double dVal = 0;
                        double.TryParse(val, System.Globalization.NumberStyles.Float, System.Globalization.NumberFormatInfo.InvariantInfo, out dVal);
                        if (dVal < scalingMin)
                            scalingMin = dVal;
                        if (dVal > scalingMax)
                            scalingMax = dVal;
                    }
                }
                scalingMin = scalingMin - (scalingMax - scalingMin) * 0.1;

                // set data
                double percSum = 0;
                for (int l = 0; l < catPosCount; l++)
                {
                    string argument = "";
                    for (int m = 0; m < catMemCount; m++)
                        argument += (m == 0 ? "" : " | ") + (pivotAxes ? _report.Cellset.GetCellsetMember(0, m, l).Name : _report.Cellset.GetCellsetMember(1, m, l).Name);

                    string val = (pivotAxes ? _report.Cellset.GetCell(l, i).Value : _report.Cellset.GetCell(i, l).Value);

                    double dVal = 0;
                    double.TryParse(val, System.Globalization.NumberStyles.Float, System.Globalization.NumberFormatInfo.InvariantInfo, out dVal);
                    if (setPerc)
                        percSum += dVal;
                    else if (setScaling)
                        dVal = (scalingMax - scalingMin == 0 ? 0 : (dVal - scalingMin) / (scalingMax - scalingMin));

                    string fVal = (pivotAxes ? _report.Cellset.GetCell(l, i).FormattedValue : _report.Cellset.GetCell(i, l).FormattedValue);

                    SeriesPoint sp = new SeriesPoint(argument, new double[] { dVal });
                    sp.Tag = fVal;
                    series.Points.Add(sp);
                }

                // set custom labels and value as percentage
                for (int l = 0; l < catPosCount; l++)
                {
                    SeriesPoint sp = series.Points[l];
                    if (setPerc)
                    {
                        sp.Values[0] = sp.Values[0] / percSum;
                        sp.Tag = sp.Values[0].ToString("P");
                    }

                    // custom point label
                    string customLabel = string.Empty;
                    if (!showValues && !showSeries && !showCats)
                        series.Label.Visible = false;
                    else
                    {
                        string fVal = (string)sp.Tag;
                        if (fVal == null || fVal == "")
                            fVal = "0";
                        customLabel = (showSeries ? series.Name : string.Empty);
                        customLabel += (showCats ? (customLabel != string.Empty ? " | " : string.Empty) + sp.Argument : string.Empty);
                        customLabel += (showValues ? (customLabel != string.Empty ? ": " : string.Empty) + fVal : string.Empty);
                    }

                    series.Points[l].Tag = customLabel;
                }

                // for pie, layout each of series individually
                if (_report.GraphType == OlapReport.GraphTypeEnum.PieBrokenApart)
                {
                    _chCtrl.Titles.Clear();
                    _chCtrl.EndInit();
                    LayoutGraph(_report.ID.ToString() + "." + i.ToString(), size, graphPieColumns);

                    // init next chart
                    if (i < seriesPosCount - 1)
                    {
                        _chCtrl = new DevExpress.XtraCharts.Web.WebChartControl();
                        _chCtrl.BeginInit();
                    }
                }
            }

            int t2 = System.Environment.TickCount;

            if (_report.GraphType != OlapReport.GraphTypeEnum.PieBrokenApart)
            {
                ChartTitle title = new ChartTitle();
                title.Alignment = StringAlignment.Center;
                title.Lines = new string[] { _report.Name, _report.Description };
                _chCtrl.Titles.Add(title);

                LayoutGraph(_report.ID.ToString(), size, 0);
            }

            // if LineWithBars
            if (_report.GraphType == OlapReport.GraphTypeEnum.LineWithBars)
            {
                // fill combo
                for (int i = 0; i < _chCtrl.Series.Count; i++)
                    this.selMixedLinePos.Items.Add(new ListItem(_chCtrl.Series[i].Name, (i + 1).ToString()));
                this.selMixedLinePos.SelectedIndex = graphMixedLinePos - 1;

                // set line as last
                if (!(_chCtrl.Series[_chCtrl.Series.Count - 1].View is LineSeriesView))
                {
                    // roll down through series
                    for (int i = graphMixedLinePos - 1; i < _chCtrl.Series.Count - 1; i++)
                        _chCtrl.Series.Swap(i, i + 1);
                }
            }

            int t3 = System.Environment.TickCount;
            double time1 = (t3 - t2) / 1000.0;
            double time2 = (t2 - t1) / 1000.0;
            t1 = 0;
        }
Esempio n. 39
0
        /// <summary>
        /// ��ʼ��ͳ��ͼ
        /// </summary>
        /// <param name="useKind"></param>
        private void InitChart(int useKind)
        {
            Series series1 = new Series();

            DataTable dtResult = null;
            if (useKind == 0)
            {
                dtResult = StateApp.BuilderRuleStyleTable();
            }
            else
            {
                dtResult = StateApp.BuilderLayerStyleTable();
            }

            ReportListView.DataSource = null;
            gridViewMain.Columns.Clear();

            DataRow pRow = dtResult.NewRow();
            if (useKind == 0)
                pRow["�������"] = "�ܼ�";
            else
                pRow["ͼ��"] = "�ܼ�";
            pRow["����ȱ��"] = dtResult.Compute("sum(����ȱ��)", "");
            pRow["��ȱ��"] = dtResult.Compute("sum(��ȱ��)", "");
            pRow["��ȱ��"] = dtResult.Compute("sum(��ȱ��)", "");

            if (pRow["����ȱ��"] is DBNull || pRow["��ȱ��"] is DBNull || pRow["��ȱ��"] is DBNull)
            {
                btnExport.Enabled = dtResult.Rows.Count > 0;
                ReportListView.DataSource = dtResult;
                return;
            }
            double mark = StateApp.GetResultMark(dtResult);
            if (mark < 50)
                labelControlMark.Text = "�÷ֵ���50��";
            else
                labelControlMark.Text = "�÷�:" + mark;

            pRow["����ϼ�"] = Convert.ToInt32(pRow["����ȱ��"]) + Convert.ToInt32(pRow["��ȱ��"]) + Convert.ToInt32(pRow["��ȱ��"]);

            int nErrorCount = Convert.ToInt32(pRow["����ϼ�"]);
            if (useKind == 0)
            {
                foreach (DataRow dr in dtResult.Rows)
                {
                    SeriesPoint pPoint = new SeriesPoint();
                    long lcount = Convert.ToInt32(dr["����ϼ�"]);

                    if (lcount > 0)
                    {
                        double temp = (lcount*100.0)/nErrorCount;

                        pPoint.Argument = dr["�������"] + ":" + temp.ToString("f1") + "%";
                        pPoint.Values = new double[] {lcount};

                        series1.Points.Add(pPoint);
                    }
                }
            }
            else
            {
                foreach (DataRow dr in dtResult.Rows)
                {
                    SeriesPoint pPoint = new SeriesPoint();
                    long lcount = Convert.ToInt32(dr["����ϼ�"]);
                    if (lcount > 0)
                    {
                        double temp = (lcount*100.0)/nErrorCount;

                        pPoint.Argument = dr["ͼ��"] + ":" + temp.ToString("f1") + "%";
                        pPoint.Values = new double[] {lcount};
                        series1.Points.Add(pPoint);
                    }
                }
            }

            series1.ChangeView(ViewType.Pie);
            series1.PointOptions.ValueNumericOptions.Format = NumericFormat.FixedPoint;

            series1.PointOptions.ValueNumericOptions.Precision = 2;
            series1.PointOptions.PointView = PointView.Argument;

            PieSeriesLabel label = series1.Label as PieSeriesLabel;
            label.Position = PieSeriesLabelPosition.Outside;
            label.TextColor = Color.Empty;

            series1.ShowInLegend = false;

            //OverlappingOptions options = series1.Label.OverlappingOptions;
            //options.ResolveOverlapping = true;

            //chartControl1.Series.Clear();
            //chartControl1.Series.Add(series1);

            dtResult.Rows.Add(pRow);

            ReportListView.DataSource = dtResult;
            btnExport.Enabled = dtResult.Rows.Count > 0;
        }
        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            var list = _purchaseClient.GetPurchase();
            if (list != null)
            {
                foreach (var p in list)
                {
                    if (p.PurchaseDate == null) continue;
                    var sp1 = new SeriesPoint((DateTime)p.PurchaseDate, _purchaseClient.GetTotalPurchase(p));
                    Purchases.Series[0].Points.Add(sp1);
                    var sp2 = new SeriesPoint((DateTime)p.PurchaseDate, _purchaseClient.GetTotalPurchase(p));
                    Purchases.Series[1].Points.Add(sp2);
                }
            }

            var list2 = _orderClient.GetOrder();
            if (list2 != null)
            {
                foreach (Order o in list2)
                {
                    if (o.OrderDate == null) continue;
                    var sp3 = new SeriesPoint((DateTime)o.OrderDate, _orderClient.GetTotalOrders(o));
                    Sales.Series[0].Points.Add(sp3);
                    var sp4 = new SeriesPoint((DateTime)o.OrderDate, _orderClient.GetTotalOrders(o));
                    Sales.Series[1].Points.Add(sp4);
                }
            }

            var list3 = _productClient.GetProducts();
            if (list3 != null)
            {
                foreach (Product produit in list3)
                {
                    var sp5 = new SeriesPoint(produit.ProductName, _productClient.GetTotalProducts(produit));
                    Products.Series[0].Points.Add(sp5);
                    var sp6 = new SeriesPoint(produit.ProductName, _productClient.GetTotalProducts(produit));
                    Products.Series[1].Points.Add(sp6);
                }
            }

            var list4 = _suppliersManager.GetCustomers();
            if (list4 != null)
            {
                foreach (Customer sup in list4)
                {
                    var sp7 = new SeriesPoint(sup.CompanyName, _suppliersManager.GetTotalPerCustomer(sup));
                    Suppliers.Series[0].Points.Add(sp7);
                    var sp8 = new SeriesPoint(sup.CompanyName, _suppliersManager.GetTotalPerCustomer(sup));
                    Suppliers.Series[1].Points.Add(sp8);
                }
            }

            var list5 = _customersManager.GetCustomers();
            if (list5 != null)
            {
                foreach (Customer cust in list5)
                {
                    var sp9 = new SeriesPoint(cust.CompanyName, _customersManager.GetTotalPerCustomer(cust));
                    Customers.Series[0].Points.Add(sp9);
                    var sp10 = new SeriesPoint(cust.CompanyName, _customersManager.GetTotalPerCustomer(cust));
                    Customers.Series[1].Points.Add(sp10);
                }
            }
        }
Esempio n. 41
0
 private void btnExecute_Click(object sender, EventArgs e)
 {
     this.gpgChart.Series.Clear();
     this.cbViewType.Text = "Line";
     this.btnExecute.Enabled = false;
     ThreadQueue.QueueUserWorkItem(delegate (object o) {
         try
         {
             VGen0 method = null;
             List<string> cols;
             List<List<string>> rows;
             if (DataAccess.AdhocQuery(this.tbQuery.Text, out cols, out rows) && (rows.Count > 0))
             {
                 if (method == null)
                 {
                     method = delegate {
                         try
                         {
                             Series series;
                             string str;
                             SeriesPoint point;
                             if (cols.Count == 2)
                             {
                                 series = new Series("Raw Data", ViewType.Line) {
                                     Label = { Visible = false },
                                     LegendText = cols[0]
                                 };
                                 (series.View as LineSeriesView).LineMarkerOptions.Size = 2;
                                 foreach (List<string> list in rows)
                                 {
                                     str = list[0];
                                     point = new SeriesPoint(str, new double[] { Convert.ToDouble(list[1]) });
                                     series.Points.Add(point);
                                 }
                                 this.gpgChart.Series.Add(series);
                             }
                             else if (cols.Count == 3)
                             {
                                 Hashtable hashtable = new Hashtable();
                                 foreach (List<string> list in rows)
                                 {
                                     series = null;
                                     if (hashtable.ContainsKey(list[1]))
                                     {
                                         series = hashtable[list[1]] as Series;
                                     }
                                     else
                                     {
                                         series = new Series("Raw Data", ViewType.Line) {
                                             Label = { Visible = false },
                                             LegendText = list[1]
                                         };
                                         (series.View as LineSeriesView).LineMarkerOptions.Size = 2;
                                         hashtable.Add(list[1], series);
                                         this.gpgChart.Series.Add(series);
                                     }
                                     str = list[0];
                                     point = new SeriesPoint(str, new double[] { Convert.ToDouble(list[2]) });
                                     series.Points.Add(point);
                                 }
                             }
                         }
                         catch (Exception exception)
                         {
                             ErrorLog.WriteLine(exception);
                         }
                     };
                 }
                 base.Invoke(method);
             }
         }
         catch (Exception exception)
         {
             ErrorLog.WriteLine(exception);
         }
         base.Invoke((VGen0)delegate {
             this.btnExecute.Enabled = true;
         });
     }, new object[0]);
 }
Esempio n. 42
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            string connStr = "Server=127.0.0.1;Database=edit;Trusted_Connection=True;";

            string col1 = "";
            string col2 = "";

            List<double> col1Values = new List<double>();
            List<double> col2Values = new List<double>();
            WebChartControl1.Titles.Clear();
            WebChartControl1.Series.Clear();

            if (DropDownList1.SelectedValue.Equals(DropDownList2.SelectedValue))
            {
                Literal1.Text = "The same columns cannot be compared because the correlation is always 100%";
                return;
            }

            using (SqlConnection conn = new SqlConnection(connStr))
            {
                conn.Open();

                // lookup friendlytext, get the real DB column name...
                using (SqlCommand cmd = new SqlCommand(String.Format("SELECT [DBColumn] FROM [edit].[dbo].[datawarehouseColumnMapping] WHERE FriendlyText = '{0}' OR FriendlyText = '{1}'",DropDownList1.SelectedValue, DropDownList2.SelectedValue),conn))
                {
                    using (SqlDataReader r = cmd.ExecuteReader())
                    {
                        try
                        {
                            r.Read(); // move to first row
                            col1 = r.GetString(0);
                            r.Read();
                            col2 = r.GetString(0);

                        }
                        catch (Exception ex)
                        {

                        }
                    }
                }

                using (SqlCommand cmd = new SqlCommand(String.Format("SELECT [{0}],[{1}] FROM [edit].[dbo].[datawarehouse]", col1, col2), conn))
                {
                    using (SqlDataReader r = cmd.ExecuteReader())
                    {
                        DataTable dt = new DataTable();
                        dt.Load(r);

                        if (dt.Columns[0].DataType != typeof(System.Double) || dt.Columns[1].DataType != typeof(System.Double))
                        {
                            Literal1.Text = "These two columns cannot be compared!";
                            return;
                        }

                        double a = 0;
                        double b = 0;
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            if (dt.Rows[i].ItemArray.GetValue(0) != DBNull.Value && dt.Rows[i].ItemArray.GetValue(1) != DBNull.Value)
                            {
                                a = (double)dt.Rows[i].ItemArray.GetValue(0);
                                b = (double)dt.Rows[i].ItemArray.GetValue(1);
                                col1Values.Add(a);
                                col2Values.Add(b);
                            }
                        }
                    }
                }
            }

            double correlation = Math.Round(Correlation.Pearson(col1Values, col2Values), 5, MidpointRounding.ToEven);
            double percentageCorrelation = Math.Round(correlation * 100, 0);
            Literal1.Text = String.Format("The correlation is: {0}% ({1})<br/><p><strong>Please understand that high correlations do not necessarily imply causation -- only association!</strong></p><br/>", percentageCorrelation, correlation);

            SeriesPoint[] sp = new SeriesPoint[col1Values.Count];
            Series s = new Series("Comparison", ViewType.Point);
            for (int i = 0; i < col1Values.Count; i++)
            {
                sp[i] = new SeriesPoint(col1Values[i], col2Values[i]);
                s.Points.Add(sp[i]);
            }
            RegressionLine rl = new RegressionLine("regression line");
            rl.LineStyle.DashStyle = DashStyle.Dot;
            rl.LineStyle.Thickness = 2;
            rl.Color = System.Drawing.Color.Aqua;

            s.ArgumentScaleType = ScaleType.Numerical;
            s.ValueScaleType = ScaleType.Numerical;
            ChartTitle ct = new ChartTitle();
            ct.Text = DropDownList1.SelectedValue + " compared to " + DropDownList2.SelectedValue;

            WebChartControl1.Titles.Add(ct);

            WebChartControl1.Series.Add(s);
            ((PointSeriesView)WebChartControl1.Series[0].View).Indicators.Clear();
            ((PointSeriesView)WebChartControl1.Series[0].View).Indicators.Add(rl);
            ((XYDiagramSeriesViewBase)WebChartControl1.Series[0].View).AxisX.Title.Visible = true;
            ((XYDiagramSeriesViewBase)WebChartControl1.Series[0].View).AxisX.Title.Alignment = System.Drawing.StringAlignment.Center;
            ((XYDiagramSeriesViewBase)WebChartControl1.Series[0].View).AxisX.Title.Text = DropDownList1.SelectedValue;
            ((XYDiagramSeriesViewBase)WebChartControl1.Series[0].View).AxisX.Title.TextColor = System.Drawing.Color.Red;
            ((XYDiagramSeriesViewBase)WebChartControl1.Series[0].View).AxisX.Title.Antialiasing = true;

            ((XYDiagramSeriesViewBase)WebChartControl1.Series[0].View).AxisY.Title.Visible = true;
            ((XYDiagramSeriesViewBase)WebChartControl1.Series[0].View).AxisY.Title.Alignment = System.Drawing.StringAlignment.Center;
            ((XYDiagramSeriesViewBase)WebChartControl1.Series[0].View).AxisY.Title.Text = DropDownList2.SelectedValue;
            ((XYDiagramSeriesViewBase)WebChartControl1.Series[0].View).AxisY.Title.TextColor = System.Drawing.Color.Red;
            ((XYDiagramSeriesViewBase)WebChartControl1.Series[0].View).AxisY.Title.Antialiasing = true;
        }
Esempio n. 43
0
        private void RenderData(int month, bool showCurrentMonth, bool firstLoad)
        {
            chartControl1.Titles[0].Text = "กราฟแสดง" + cbbDataType.SelectedItem.ToString()
                + cbbTime.SelectedItem.ToString()
                + ((cbbBackward.SelectedIndex > 0) ?
                " ย้อนหลัง " + cbbBackward.SelectedItem.ToString() + " " + lblTime.Text :
                ((cbbTime.SelectedIndex == 2) ? " เดือน" + Param.thaiMonth[DateTime.Now.Month - 1] + " " + (DateTime.Now.Year + 543) : ""));

            DataSet DataSet = new DataSet();
            DataTable data = new DataTable();

            if ((bool)_JSON.success)
            {
                if (cbbCustomerType.SelectedIndex == 0)
                {
                    data = new DataTable();
                    data.Columns.Add("Name", typeof(string));
                    data.PrimaryKey = new DataColumn[] { data.Columns["Name"] };
                    data.TableName = "Data-category";
                    int cnt = (chkShowCurrentMonth.Checked) ? month + 1 : month;
                    _SERIES = new Series[cnt];
                    for (int i = 0; i < cnt; i++)
                    {
                        _SERIES[i] = new Series();
                        _SERIES[i].Name = Param.thaiMonth[DateTime.Today.AddMonths(i - month).Month - 1];
                        _SERIES[i].CrosshairLabelPattern = "{V:#,#}";
                        _SERIES[i].Points.Clear();
                    }

                    //cbbCategory.Properties.Items.Clear();

                    //var count = _JSON.result.Count;
                    //for (int i = 0; i < count; i++)
                    //{
                    //    if (!data.Rows.Contains(_JSON.result[i].category.ToString()))
                    //    {
                    //        var val = _JSON.result[i].category.ToString();
                    //        data.Rows.Add(val);
                    //        cbbCategory.Properties.Items.Add(val, true);
                    //    }
                    //    SeriesPoint seriesPoint = new SeriesPoint(_JSON.result[i].category,
                    //        (cbbDataType.SelectedIndex == 0) ? (int)_JSON.result[i].price :
                    //        (cbbDataType.SelectedIndex == 1) ? (int)_JSON.result[i].qty :
                    //        (cbbDataType.SelectedIndex == 2) ? (int)(_JSON.result[i].price - _JSON.result[i].cost) :
                    //        (cbbDataType.SelectedIndex == 3) ? (int)(_JSON.result[i].cost / _JSON.result[i].qty) :
                    //        (cbbDataType.SelectedIndex == 4) ? (int)(_JSON.result[i].price / _JSON.result[i].qty) :
                    //        (int)((_JSON.result[i].price - _JSON.result[i].cost) / _JSON.result[i].qty)
                    //    );
                    //    try
                    //    {
                    //        if ((showCurrentMonth && (int)_JSON.result[i].monthNo <= 0) || (!showCurrentMonth && (int)_JSON.result[i].monthNo < 0))
                    //        {
                    //            _SERIES[month + (int)_JSON.result[i].monthNo].Points.Add(seriesPoint);
                    //        }
                    //    }
                    //    catch (Exception ex)
                    //    {
                    //        Console.WriteLine(ex.Message);
                    //    }
                    //}
                }
            else
            {
                data = new DataTable();
                data.Columns.Add("Name", typeof(string));
                data.PrimaryKey = new DataColumn[] { data.Columns["Name"] };
                data.TableName = "Data-customerName";

                int count = _JSON.result.Count;
                for (int i = 0; i < count; i++)
                {
                    if (!data.Rows.Contains(_JSON.result[i].customerName.ToString()))
                    {
                        var val = _JSON.result[i].customerName.ToString();
                        data.Rows.Add(val);
                    }
                }

                Hashtable customer = new Hashtable();
                _SERIES = new Series[data.Rows.Count];
                for (int i = 0; i < data.Rows.Count; i++)
                {
                    _SERIES[i] = new Series(data.Rows[i]["Name"].ToString(), ViewType.StackedBar);
                    _SERIES[i].Points.Clear();
                    customer.Add(data.Rows[i]["Name"].ToString(), i);
                }

                //cbbCategory.Properties.Items.Clear();

                count = _JSON.result.Count;
                for (int i = 0; i < count; i++)
                {
                    /*if (!data.Rows.Contains(_JSON.result[i].category.ToString()))
                    {
                        var val = _JSON.result[i].category.ToString();
                        data.Rows.Add(val);
                        cbbCategory.Properties.Items.Add(val, true);
                    }*/
                    SeriesPoint seriesPoint = new SeriesPoint(_JSON.result[i].category,
                        (cbbDataType.SelectedIndex == 0) ? (int)_JSON.result[i].price :
                        (cbbDataType.SelectedIndex == 1) ? (int)_JSON.result[i].qty :
                        (cbbDataType.SelectedIndex == 2) ? (int)(_JSON.result[i].price - _JSON.result[i].cost) :
                        (cbbDataType.SelectedIndex == 3) ? (int)(_JSON.result[i].cost / _JSON.result[i].qty) :
                        (cbbDataType.SelectedIndex == 4) ? (int)(_JSON.result[i].price / _JSON.result[i].qty) :
                        (int)((_JSON.result[i].price - _JSON.result[i].cost) / _JSON.result[i].qty)
                    );
                    try
                    {
                        //if ((showCurrentMonth && (int)_JSON.result[i].monthNo <= 0) || (!showCurrentMonth && (int)_JSON.result[i].monthNo < 0))
                        //{
                        _SERIES[customer[_JSON.result[i].customerName.ToString()]].Points.Add(seriesPoint);
                        //}
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
            }

            //Param.DataSet.Tables.Add(data);
            chartControl1.SeriesSerializable = _SERIES;
            chartControl1.Visible = true;

        }
            else
            {
                chartControl1.Visible = false;
            }

            if (splashScreenManager.IsSplashFormVisible)
                splashScreenManager.CloseWaitForm();
        }
Esempio n. 44
0
        void initGantt(List<TaskTree> tasktree,DateTime[] projectDate)
        {
            BandedGridView view = advBandedGridView1 as BandedGridView;
            view.BeginUpdate(); //开始视图的编辑,防止触发其他事件
            view.BeginDataUpdate(); //开始数据的编辑
            view.Bands.Clear();
            DateTime start = new DateTime(2013, 12, 10);
            DateTime end = new DateTime(2014, 5, 2);
            GridBand gridBand = view.Bands.AddBand(start.ToString("yy-MM-dd"));
            gridBand.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            int days = (end - start).Days;
            string Day = "日一二三四五六";
            CustomAxisLabel[] customaxislabels = new CustomAxisLabel[days + 1];
            customaxislabels[0] = new CustomAxisLabel(start.ToString("yy-MM-dd"), start);
            for (int i = 0; i <= days + 1; i++)
            {
                try
                {
                    CustomAxisLabel cal = new CustomAxisLabel();
                    cal.AxisValue = start;
                    cal.Name = start.ToString("yy-MM-dd");
                    customaxislabels[i + 1] = cal;
                    if (start.DayOfWeek == DayOfWeek.Monday)
                    {
                        gridBand = view.Bands.AddBand(start.ToString("yyyy-MM-dd"));
                        gridBand.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
                    }
                    GridBand childen = gridBand.Children.AddBand(Day[(int)start.DayOfWeek] + "");
                    childen.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
                    childen.Width = 24;
                    start = start.AddDays(1);
                }
                catch { }
            }
            gcGanttDate.Width = days * 24 + 2;
            view.EndDataUpdate();//结束数据的编辑
            view.EndUpdate();   //结束视图的编辑

            //设置甘特图属性
            ccProjectGantt.Width = gcGanttDate.Width;
            //chartControl1.Height = 4 * 24;
            ganttDiagram1.AxisX.Visible = false;
            ganttDiagram1.AxisY.CustomLabels.AddRange(customaxislabels);
            ConstantLine progress = new ConstantLine("当前进度", DateTime.Now);
            progress.Color = Color.Red;
            ganttDiagram1.AxisY.ConstantLines.Add(progress);
            ganttDiagram1.AxisY.Range.MinValueInternal = 0;
            ganttDiagram1.AxisY.Range.MaxValueInternal = days * 24;
            ganttDiagram1.AxisY.Visible = false;

            series1.Points.Add(new SeriesPoint("项目进度", new DateTime[] { new DateTime(2013, 12, 12, 0, 0, 0), new DateTime(2014, 4, 30) }));
            SeriesPoint sp = new SeriesPoint();
            series2.Points.Add(new SeriesPoint("产品进度", new DateTime[] { new DateTime(2013, 12, 12), new DateTime(2014, 1, 12) }));
            series2.Points.Add(new SeriesPoint("Task 2", new DateTime[] { new DateTime(2014, 1, 13), new DateTime(2014, 2, 28) }));
            series2.Points.Add(new SeriesPoint("Task 3", new DateTime[] { new DateTime(2014, 3, 1), new DateTime(2014, 3, 30) }));
            series2.Points.Add(new SeriesPoint("Task 4", new DateTime[] { new DateTime(2014, 4, 1), new DateTime(2014, 4, 30) }));
            series2.Points[2].Relations.Add(series2.Points[1]);
            series3.Points.Add(new SeriesPoint("产品进度", new DateTime[] { new DateTime(2013, 12, 12), new DateTime(2014, 1, 12) }));
            series3.Points.Add(new SeriesPoint("Task 2", new DateTime[] { new DateTime(2014, 1, 13), new DateTime(2014, 2, 28) }));
            series3.Points.Add(new SeriesPoint("Task 3", new DateTime[] { new DateTime(2014, 3, 1), new DateTime(2014, 3, 4) }));
            series4.Points.Add(new SeriesPoint("Task 3", new DateTime[] { new DateTime(2014, 3, 4), DateTime.Now }));
        }
Esempio n. 45
0
 private static System.Collections.ObjectModel.ObservableCollection<object> Get_TabControl_Items()
 {
     System.Collections.ObjectModel.ObservableCollection<object> items = new System.Collections.ObjectModel.ObservableCollection<object>();
     // e_3 element
     TabItem e_3 = new TabItem();
     e_3.Name = "e_3";
     e_3.HorizontalContentAlignment = HorizontalAlignment.Stretch;
     e_3.Header = "Controls";
     // e_4 element
     Grid e_4 = new Grid();
     e_3.Content = e_4;
     e_4.Name = "e_4";
     RowDefinition row_e_4_0 = new RowDefinition();
     row_e_4_0.Height = new GridLength(1F, GridUnitType.Auto);
     e_4.RowDefinitions.Add(row_e_4_0);
     RowDefinition row_e_4_1 = new RowDefinition();
     row_e_4_1.Height = new GridLength(1F, GridUnitType.Auto);
     e_4.RowDefinitions.Add(row_e_4_1);
     RowDefinition row_e_4_2 = new RowDefinition();
     row_e_4_2.Height = new GridLength(1F, GridUnitType.Auto);
     e_4.RowDefinitions.Add(row_e_4_2);
     RowDefinition row_e_4_3 = new RowDefinition();
     row_e_4_3.Height = new GridLength(1F, GridUnitType.Auto);
     e_4.RowDefinitions.Add(row_e_4_3);
     RowDefinition row_e_4_4 = new RowDefinition();
     row_e_4_4.Height = new GridLength(1F, GridUnitType.Auto);
     e_4.RowDefinitions.Add(row_e_4_4);
     RowDefinition row_e_4_5 = new RowDefinition();
     row_e_4_5.Height = new GridLength(1F, GridUnitType.Auto);
     e_4.RowDefinitions.Add(row_e_4_5);
     RowDefinition row_e_4_6 = new RowDefinition();
     row_e_4_6.Height = new GridLength(1F, GridUnitType.Auto);
     e_4.RowDefinitions.Add(row_e_4_6);
     RowDefinition row_e_4_7 = new RowDefinition();
     row_e_4_7.Height = new GridLength(1F, GridUnitType.Auto);
     e_4.RowDefinitions.Add(row_e_4_7);
     RowDefinition row_e_4_8 = new RowDefinition();
     row_e_4_8.Height = new GridLength(1F, GridUnitType.Auto);
     e_4.RowDefinitions.Add(row_e_4_8);
     RowDefinition row_e_4_9 = new RowDefinition();
     row_e_4_9.Height = new GridLength(1F, GridUnitType.Auto);
     e_4.RowDefinitions.Add(row_e_4_9);
     RowDefinition row_e_4_10 = new RowDefinition();
     row_e_4_10.Height = new GridLength(1F, GridUnitType.Auto);
     e_4.RowDefinitions.Add(row_e_4_10);
     RowDefinition row_e_4_11 = new RowDefinition();
     row_e_4_11.Height = new GridLength(1F, GridUnitType.Auto);
     e_4.RowDefinitions.Add(row_e_4_11);
     ColumnDefinition col_e_4_0 = new ColumnDefinition();
     col_e_4_0.Width = new GridLength(1F, GridUnitType.Auto);
     e_4.ColumnDefinitions.Add(col_e_4_0);
     ColumnDefinition col_e_4_1 = new ColumnDefinition();
     e_4.ColumnDefinitions.Add(col_e_4_1);
     // e_5 element
     TextBlock e_5 = new TextBlock();
     e_4.Children.Add(e_5);
     e_5.Name = "e_5";
     e_5.VerticalAlignment = VerticalAlignment.Center;
     e_5.Text = "Button";
     // button1 element
     Button button1 = new Button();
     e_4.Children.Add(button1);
     button1.Name = "button1";
     button1.Height = 30F;
     button1.Width = 200F;
     button1.Margin = new Thickness(5F, 5F, 5F, 5F);
     button1.HorizontalAlignment = HorizontalAlignment.Left;
     button1.TabIndex = 1;
     button1.Content = "Button 1";
     button1.CommandParameter = "Click Button 1";
     Grid.SetColumn(button1, 1);
     Grid.SetRow(button1, 0);
     Binding binding_button1_Command = new Binding("ButtonCommand");
     button1.SetBinding(Button.CommandProperty, binding_button1_Command);
     // button2 element
     Button button2 = new Button();
     e_4.Children.Add(button2);
     button2.Name = "button2";
     button2.Height = 30F;
     button2.Width = 200F;
     button2.Margin = new Thickness(5F, 5F, 5F, 5F);
     button2.HorizontalAlignment = HorizontalAlignment.Left;
     button2.TabIndex = 2;
     button2.Content = "Button 2";
     button2.CommandParameter = "Click Button 2";
     Grid.SetColumn(button2, 1);
     Grid.SetRow(button2, 1);
     Binding binding_button2_IsEnabled = new Binding("ButtonEnabled");
     button2.SetBinding(Button.IsEnabledProperty, binding_button2_IsEnabled);
     Binding binding_button2_Command = new Binding("ButtonCommand");
     button2.SetBinding(Button.CommandProperty, binding_button2_Command);
     // buttonResult element
     TextBlock buttonResult = new TextBlock();
     e_4.Children.Add(buttonResult);
     buttonResult.Name = "buttonResult";
     buttonResult.HorizontalAlignment = HorizontalAlignment.Left;
     Grid.SetColumn(buttonResult, 1);
     Grid.SetRow(buttonResult, 2);
     Binding binding_buttonResult_Text = new Binding("ButtonResult");
     buttonResult.SetBinding(TextBlock.TextProperty, binding_buttonResult_Text);
     // e_6 element
     TextBlock e_6 = new TextBlock();
     e_4.Children.Add(e_6);
     e_6.Name = "e_6";
     e_6.VerticalAlignment = VerticalAlignment.Center;
     e_6.Text = "CheckBox";
     Grid.SetRow(e_6, 3);
     // checkBox element
     CheckBox checkBox = new CheckBox();
     e_4.Children.Add(checkBox);
     checkBox.Name = "checkBox";
     checkBox.Margin = new Thickness(5F, 5F, 5F, 5F);
     checkBox.HorizontalAlignment = HorizontalAlignment.Left;
     checkBox.TabIndex = 3;
     checkBox.Content = "Check Box";
     Grid.SetColumn(checkBox, 1);
     Grid.SetRow(checkBox, 3);
     // e_7 element
     TextBlock e_7 = new TextBlock();
     e_4.Children.Add(e_7);
     e_7.Name = "e_7";
     e_7.VerticalAlignment = VerticalAlignment.Center;
     e_7.Text = "ProgressBar";
     Grid.SetRow(e_7, 4);
     // e_8 element
     ProgressBar e_8 = new ProgressBar();
     e_4.Children.Add(e_8);
     e_8.Name = "e_8";
     e_8.Height = 30F;
     e_8.Width = 200F;
     e_8.Margin = new Thickness(5F, 5F, 5F, 5F);
     e_8.HorizontalAlignment = HorizontalAlignment.Left;
     Grid.SetColumn(e_8, 1);
     Grid.SetRow(e_8, 4);
     Binding binding_e_8_Value = new Binding("ProgressValue");
     e_8.SetBinding(ProgressBar.ValueProperty, binding_e_8_Value);
     // e_9 element
     TextBlock e_9 = new TextBlock();
     e_4.Children.Add(e_9);
     e_9.Name = "e_9";
     e_9.VerticalAlignment = VerticalAlignment.Center;
     e_9.Text = "Slider";
     Grid.SetRow(e_9, 5);
     // slider element
     Slider slider = new Slider();
     e_4.Children.Add(slider);
     slider.Name = "slider";
     slider.Width = 200F;
     slider.HorizontalAlignment = HorizontalAlignment.Left;
     slider.TabIndex = 4;
     slider.Minimum = 5F;
     slider.Maximum = 20F;
     Grid.SetColumn(slider, 1);
     Grid.SetRow(slider, 5);
     Binding binding_slider_Value = new Binding("SliderValue");
     slider.SetBinding(Slider.ValueProperty, binding_slider_Value);
     // e_10 element
     TextBlock e_10 = new TextBlock();
     e_4.Children.Add(e_10);
     e_10.Name = "e_10";
     e_10.VerticalAlignment = VerticalAlignment.Center;
     e_10.Text = "TextBox";
     Grid.SetRow(e_10, 6);
     // textBox element
     TextBox textBox = new TextBox();
     e_4.Children.Add(textBox);
     textBox.Name = "textBox";
     textBox.Width = 200F;
     textBox.Margin = new Thickness(5F, 5F, 5F, 5F);
     textBox.HorizontalAlignment = HorizontalAlignment.Left;
     textBox.TabIndex = 5;
     textBox.SelectionBrush = new SolidColorBrush(new ColorW(255, 0, 0, 255));
     textBox.UndoLimit = 20;
     Grid.SetColumn(textBox, 1);
     Grid.SetRow(textBox, 6);
     Binding binding_textBox_Text = new Binding("TextBoxText");
     textBox.SetBinding(TextBox.TextProperty, binding_textBox_Text);
     // e_11 element
     TextBlock e_11 = new TextBlock();
     e_4.Children.Add(e_11);
     e_11.Name = "e_11";
     e_11.VerticalAlignment = VerticalAlignment.Center;
     e_11.Text = "Numeric";
     Grid.SetRow(e_11, 7);
     // numTextBox element
     NumericTextBox numTextBox = new NumericTextBox();
     e_4.Children.Add(numTextBox);
     numTextBox.Name = "numTextBox";
     numTextBox.Width = 200F;
     numTextBox.Margin = new Thickness(5F, 5F, 5F, 5F);
     numTextBox.HorizontalAlignment = HorizontalAlignment.Left;
     numTextBox.TabIndex = 6;
     numTextBox.ValueFormat = "F0";
     numTextBox.ValueStyle = ((System.Globalization.NumberStyles)(7));
     Grid.SetColumn(numTextBox, 1);
     Grid.SetRow(numTextBox, 7);
     Binding binding_numTextBox_Value = new Binding("NumericTextBoxValue");
     numTextBox.SetBinding(NumericTextBox.ValueProperty, binding_numTextBox_Value);
     // e_12 element
     TextBlock e_12 = new TextBlock();
     e_4.Children.Add(e_12);
     e_12.Name = "e_12";
     e_12.VerticalAlignment = VerticalAlignment.Center;
     e_12.Text = "PasswordBox";
     Grid.SetRow(e_12, 8);
     // e_13 element
     PasswordBox e_13 = new PasswordBox();
     e_4.Children.Add(e_13);
     e_13.Name = "e_13";
     e_13.Width = 200F;
     e_13.Margin = new Thickness(5F, 5F, 5F, 5F);
     e_13.HorizontalAlignment = HorizontalAlignment.Left;
     e_13.TabIndex = 7;
     Grid.SetColumn(e_13, 1);
     Grid.SetRow(e_13, 8);
     Binding binding_e_13_Password = new Binding("Password");
     e_13.SetBinding(PasswordBox.PasswordProperty, binding_e_13_Password);
     // e_14 element
     TextBlock e_14 = new TextBlock();
     e_4.Children.Add(e_14);
     e_14.Name = "e_14";
     e_14.VerticalAlignment = VerticalAlignment.Center;
     e_14.Text = "ComboBox";
     Grid.SetRow(e_14, 9);
     // combo element
     ComboBox combo = new ComboBox();
     e_4.Children.Add(combo);
     combo.Name = "combo";
     combo.Width = 200F;
     combo.Margin = new Thickness(5F, 5F, 5F, 5F);
     combo.HorizontalAlignment = HorizontalAlignment.Left;
     combo.TabIndex = 8;
     combo.ItemsSource = Get_combo_Items();
     combo.SelectedIndex = 2;
     Grid.SetColumn(combo, 1);
     Grid.SetRow(combo, 9);
     // e_15 element
     TextBlock e_15 = new TextBlock();
     e_4.Children.Add(e_15);
     e_15.Name = "e_15";
     e_15.VerticalAlignment = VerticalAlignment.Center;
     e_15.Text = "ListBox";
     Grid.SetRow(e_15, 10);
     // e_16 element
     Grid e_16 = new Grid();
     e_4.Children.Add(e_16);
     e_16.Name = "e_16";
     ColumnDefinition col_e_16_0 = new ColumnDefinition();
     e_16.ColumnDefinitions.Add(col_e_16_0);
     ColumnDefinition col_e_16_1 = new ColumnDefinition();
     e_16.ColumnDefinitions.Add(col_e_16_1);
     Grid.SetColumn(e_16, 1);
     Grid.SetRow(e_16, 10);
     // e_17 element
     ListBox e_17 = new ListBox();
     e_16.Children.Add(e_17);
     e_17.Name = "e_17";
     e_17.TabIndex = 9;
     DragDrop.SetIsDragSource(e_17, true);
     DragDrop.SetIsDropTarget(e_17, true);
     Binding binding_e_17_ItemsSource = new Binding("DataOne");
     e_17.SetBinding(ListBox.ItemsSourceProperty, binding_e_17_ItemsSource);
     // e_18 element
     ListBox e_18 = new ListBox();
     e_16.Children.Add(e_18);
     e_18.Name = "e_18";
     e_18.TabIndex = 10;
     Grid.SetColumn(e_18, 1);
     DragDrop.SetIsDragSource(e_18, true);
     DragDrop.SetIsDropTarget(e_18, true);
     Binding binding_e_18_ItemsSource = new Binding("DataTwo");
     e_18.SetBinding(ListBox.ItemsSourceProperty, binding_e_18_ItemsSource);
     // e_19 element
     TextBlock e_19 = new TextBlock();
     e_4.Children.Add(e_19);
     e_19.Name = "e_19";
     e_19.VerticalAlignment = VerticalAlignment.Center;
     e_19.Text = "RadioButton";
     Grid.SetRow(e_19, 11);
     // e_20 element
     StackPanel e_20 = new StackPanel();
     e_4.Children.Add(e_20);
     e_20.Name = "e_20";
     e_20.Orientation = Orientation.Horizontal;
     Grid.SetColumn(e_20, 1);
     Grid.SetRow(e_20, 11);
     // e_21 element
     RadioButton e_21 = new RadioButton();
     e_20.Children.Add(e_21);
     e_21.Name = "e_21";
     e_21.Margin = new Thickness(5F, 5F, 5F, 5F);
     e_21.Content = "Radio Button 1";
     e_21.GroupName = "testGroup1";
     // e_22 element
     RadioButton e_22 = new RadioButton();
     e_20.Children.Add(e_22);
     e_22.Name = "e_22";
     e_22.Margin = new Thickness(5F, 5F, 5F, 5F);
     e_22.Content = "Radio Button 2";
     e_22.GroupName = "testGroup1";
     // e_23 element
     RadioButton e_23 = new RadioButton();
     e_20.Children.Add(e_23);
     e_23.Name = "e_23";
     e_23.Margin = new Thickness(5F, 5F, 5F, 5F);
     e_23.Content = "Radio Button 3";
     e_23.GroupName = "testGroup1";
     // e_24 element
     RadioButton e_24 = new RadioButton();
     e_20.Children.Add(e_24);
     e_24.Name = "e_24";
     e_24.Margin = new Thickness(5F, 5F, 5F, 5F);
     e_24.Content = "Radio Button 4";
     e_24.GroupName = "testGroup2";
     // e_25 element
     RadioButton e_25 = new RadioButton();
     e_20.Children.Add(e_25);
     e_25.Name = "e_25";
     e_25.Margin = new Thickness(5F, 5F, 5F, 5F);
     e_25.Content = "Radio Button 5";
     e_25.GroupName = "testGroup2";
     // e_26 element
     RadioButton e_26 = new RadioButton();
     e_20.Children.Add(e_26);
     e_26.Name = "e_26";
     e_26.Margin = new Thickness(5F, 5F, 5F, 5F);
     e_26.Content = "Radio Button 6";
     e_26.GroupName = "testGroup2";
     items.Add(e_3);
     // e_27 element
     TabItem e_27 = new TabItem();
     e_27.Name = "e_27";
     e_27.Header = "DataGrid";
     // e_28 element
     DataGrid e_28 = new DataGrid();
     e_27.Content = e_28;
     e_28.Name = "e_28";
     e_28.AutoGenerateColumns = false;
     DataGridTextColumn e_28_Col0 = new DataGridTextColumn();
     e_28_Col0.Header = "#";
     Binding e_28_Col0_b = new Binding("Number");
     e_28_Col0.Binding = e_28_Col0_b;
     e_28.Columns.Add(e_28_Col0);
     DataGridTextColumn e_28_Col1 = new DataGridTextColumn();
     e_28_Col1.Width = 200F;
     e_28_Col1.Header = "Text";
     Style e_28_Col1_e_s = new Style(typeof(DataGridCell));
     Setter e_28_Col1_e_s_S_0 = new Setter(DataGridCell.BackgroundProperty, new SolidColorBrush(new ColorW(128, 128, 128, 255)));
     e_28_Col1_e_s.Setters.Add(e_28_Col1_e_s_S_0);
     Setter e_28_Col1_e_s_S_1 = new Setter(DataGridCell.HorizontalAlignmentProperty, HorizontalAlignment.Center);
     e_28_Col1_e_s.Setters.Add(e_28_Col1_e_s_S_1);
     Setter e_28_Col1_e_s_S_2 = new Setter(DataGridCell.VerticalAlignmentProperty, VerticalAlignment.Center);
     e_28_Col1_e_s.Setters.Add(e_28_Col1_e_s_S_2);
     e_28_Col1.ElementStyle = e_28_Col1_e_s;
     Binding e_28_Col1_b = new Binding("Text");
     e_28_Col1.Binding = e_28_Col1_b;
     e_28.Columns.Add(e_28_Col1);
     DataGridCheckBoxColumn e_28_Col2 = new DataGridCheckBoxColumn();
     e_28_Col2.Width = DataGridLength.SizeToHeader;
     e_28_Col2.Header = "Bool";
     Binding e_28_Col2_b = new Binding("Boolean");
     e_28_Col2.Binding = e_28_Col2_b;
     e_28.Columns.Add(e_28_Col2);
     DataGridTemplateColumn e_28_Col3 = new DataGridTemplateColumn();
     e_28_Col3.Width = new DataGridLength(1F, DataGridLengthUnitType.Star);
     // e_29 element
     TextBlock e_29 = new TextBlock();
     e_29.Name = "e_29";
     e_29.Text = "Template Column";
     e_28_Col3.Header = e_29;
     Style e_28_Col3_h_s = new Style(typeof(DataGridColumnHeader));
     Setter e_28_Col3_h_s_S_0 = new Setter(DataGridColumnHeader.ForegroundProperty, new SolidColorBrush(new ColorW(255, 165, 0, 255)));
     e_28_Col3_h_s.Setters.Add(e_28_Col3_h_s_S_0);
     e_28_Col3.HeaderStyle = e_28_Col3_h_s;
     Func<UIElement, UIElement> e_28_Col3_ct_dtFunc = e_28_Col3_ct_dtMethod;
     e_28_Col3.CellTemplate = new DataTemplate(e_28_Col3_ct_dtFunc);
     e_28.Columns.Add(e_28_Col3);
     Binding binding_e_28_ItemsSource = new Binding("GridData");
     e_28.SetBinding(DataGrid.ItemsSourceProperty, binding_e_28_ItemsSource);
     items.Add(e_27);
     // e_35 element
     TabItem e_35 = new TabItem();
     e_35.Name = "e_35";
     e_35.Header = "TreeView";
     // e_36 element
     TreeView e_36 = new TreeView();
     e_35.Content = e_36;
     e_36.Name = "e_36";
     Binding binding_e_36_ItemsSource = new Binding("TreeItems");
     e_36.SetBinding(TreeView.ItemsSourceProperty, binding_e_36_ItemsSource);
     items.Add(e_35);
     // e_37 element
     TabItem e_37 = new TabItem();
     e_37.Name = "e_37";
     e_37.Header = "Chart";
     // e_38 element
     Chart e_38 = new Chart();
     e_37.Content = e_38;
     e_38.Name = "e_38";
     e_38.AxisYMajorUnit = 50F;
     // e_39 element
     LineSeries2D e_39 = new LineSeries2D();
     e_38.Series.Add(e_39);
     e_39.Name = "e_39";
     // p_40 point
     SeriesPoint p_40 = new SeriesPoint();
     e_39.Points.Add(p_40);
     p_40.Argument = 0F;
     p_40.Value = 0F;
     // p_41 point
     SeriesPoint p_41 = new SeriesPoint();
     e_39.Points.Add(p_41);
     p_41.Argument = 1F;
     p_41.Value = 10F;
     // p_42 point
     SeriesPoint p_42 = new SeriesPoint();
     e_39.Points.Add(p_42);
     p_42.Argument = 2F;
     p_42.Value = 20F;
     // p_43 point
     SeriesPoint p_43 = new SeriesPoint();
     e_39.Points.Add(p_43);
     p_43.Argument = 3F;
     p_43.Value = 50F;
     // p_44 point
     SeriesPoint p_44 = new SeriesPoint();
     e_39.Points.Add(p_44);
     p_44.Argument = 4F;
     p_44.Value = 100F;
     // p_45 point
     SeriesPoint p_45 = new SeriesPoint();
     e_39.Points.Add(p_45);
     p_45.Argument = 5F;
     p_45.Value = 200F;
     // p_46 point
     SeriesPoint p_46 = new SeriesPoint();
     e_39.Points.Add(p_46);
     p_46.Argument = 6F;
     p_46.Value = 500F;
     // e_47 element
     LineSeries2D e_47 = new LineSeries2D();
     e_38.Series.Add(e_47);
     e_47.Name = "e_47";
     e_47.Foreground = new SolidColorBrush(new ColorW(255, 165, 0, 255));
     e_47.LineThickness = 1F;
     Binding binding_e_47_DataSource = new Binding("ChartData");
     e_47.SetBinding(LineSeries2D.DataSourceProperty, binding_e_47_DataSource);
     items.Add(e_37);
     // e_48 element
     TabItem e_48 = new TabItem();
     e_48.Name = "e_48";
     e_48.Header = "Shapes";
     // e_49 element
     Grid e_49 = new Grid();
     e_48.Content = e_49;
     e_49.Name = "e_49";
     RowDefinition row_e_49_0 = new RowDefinition();
     e_49.RowDefinitions.Add(row_e_49_0);
     RowDefinition row_e_49_1 = new RowDefinition();
     e_49.RowDefinitions.Add(row_e_49_1);
     RowDefinition row_e_49_2 = new RowDefinition();
     e_49.RowDefinitions.Add(row_e_49_2);
     ColumnDefinition col_e_49_0 = new ColumnDefinition();
     e_49.ColumnDefinitions.Add(col_e_49_0);
     ColumnDefinition col_e_49_1 = new ColumnDefinition();
     e_49.ColumnDefinitions.Add(col_e_49_1);
     ColumnDefinition col_e_49_2 = new ColumnDefinition();
     e_49.ColumnDefinitions.Add(col_e_49_2);
     // e_50 element
     Rectangle e_50 = new Rectangle();
     e_49.Children.Add(e_50);
     e_50.Name = "e_50";
     e_50.Height = 100F;
     e_50.Width = 200F;
     e_50.Margin = new Thickness(5F, 5F, 5F, 5F);
     e_50.Fill = new SolidColorBrush(new ColorW(0, 128, 0, 255));
     e_50.Stroke = new SolidColorBrush(new ColorW(128, 128, 128, 255));
     e_50.StrokeThickness = 5F;
     e_50.RadiusX = 10F;
     e_50.RadiusY = 10F;
     // e_51 element
     Rectangle e_51 = new Rectangle();
     e_49.Children.Add(e_51);
     e_51.Name = "e_51";
     e_51.Height = 100F;
     e_51.Width = 200F;
     e_51.Margin = new Thickness(5F, 5F, 5F, 5F);
     e_51.Fill = new SolidColorBrush(new ColorW(255, 165, 0, 255));
     Grid.SetColumn(e_51, 1);
     // e_52 element
     Rectangle e_52 = new Rectangle();
     e_49.Children.Add(e_52);
     e_52.Name = "e_52";
     e_52.Height = 100F;
     e_52.Width = 200F;
     e_52.Margin = new Thickness(5F, 5F, 5F, 5F);
     LinearGradientBrush e_52_Fill = new LinearGradientBrush();
     e_52_Fill.StartPoint = new PointF(0F, 0F);
     e_52_Fill.EndPoint = new PointF(1F, 1F);
     e_52_Fill.SpreadMethod = GradientSpreadMethod.Pad;
     e_52_Fill.GradientStops.Add(new GradientStop(new ColorW(255, 165, 0, 255), 0.5F));
     e_52_Fill.GradientStops.Add(new GradientStop(new ColorW(0, 162, 255, 255), 0F));
     e_52.Fill = e_52_Fill;
     LinearGradientBrush e_52_Stroke = new LinearGradientBrush();
     e_52_Stroke.StartPoint = new PointF(0F, 0F);
     e_52_Stroke.EndPoint = new PointF(1F, 1F);
     e_52_Stroke.SpreadMethod = GradientSpreadMethod.Pad;
     e_52_Stroke.GradientStops.Add(new GradientStop(new ColorW(0, 162, 255, 255), 0.5F));
     e_52_Stroke.GradientStops.Add(new GradientStop(new ColorW(255, 165, 0, 255), 0F));
     e_52.Stroke = e_52_Stroke;
     e_52.StrokeThickness = 5F;
     e_52.RadiusX = 10F;
     e_52.RadiusY = 10F;
     Grid.SetColumn(e_52, 2);
     // e_53 element
     Ellipse e_53 = new Ellipse();
     e_49.Children.Add(e_53);
     e_53.Name = "e_53";
     e_53.Height = 100F;
     e_53.Width = 200F;
     e_53.Margin = new Thickness(5F, 5F, 5F, 5F);
     e_53.Fill = new SolidColorBrush(new ColorW(128, 128, 128, 255));
     e_53.Stroke = new SolidColorBrush(new ColorW(0, 128, 0, 255));
     e_53.StrokeThickness = 10F;
     Grid.SetRow(e_53, 1);
     // e_54 element
     Ellipse e_54 = new Ellipse();
     e_49.Children.Add(e_54);
     e_54.Name = "e_54";
     e_54.Height = 100F;
     e_54.Width = 200F;
     e_54.Margin = new Thickness(5F, 5F, 5F, 5F);
     e_54.Stroke = new SolidColorBrush(new ColorW(255, 165, 0, 255));
     e_54.StrokeThickness = 10F;
     Grid.SetColumn(e_54, 1);
     Grid.SetRow(e_54, 1);
     // e_55 element
     Ellipse e_55 = new Ellipse();
     e_49.Children.Add(e_55);
     e_55.Name = "e_55";
     e_55.Height = 100F;
     e_55.Width = 200F;
     e_55.Margin = new Thickness(5F, 5F, 5F, 5F);
     LinearGradientBrush e_55_Fill = new LinearGradientBrush();
     e_55_Fill.StartPoint = new PointF(0F, 0F);
     e_55_Fill.EndPoint = new PointF(1F, 1F);
     e_55_Fill.SpreadMethod = GradientSpreadMethod.Pad;
     e_55_Fill.GradientStops.Add(new GradientStop(new ColorW(255, 165, 0, 255), 0.5F));
     e_55_Fill.GradientStops.Add(new GradientStop(new ColorW(0, 162, 255, 255), 0F));
     e_55.Fill = e_55_Fill;
     LinearGradientBrush e_55_Stroke = new LinearGradientBrush();
     e_55_Stroke.StartPoint = new PointF(0F, 0F);
     e_55_Stroke.EndPoint = new PointF(1F, 1F);
     e_55_Stroke.SpreadMethod = GradientSpreadMethod.Pad;
     e_55_Stroke.GradientStops.Add(new GradientStop(new ColorW(0, 162, 255, 255), 0.5F));
     e_55_Stroke.GradientStops.Add(new GradientStop(new ColorW(255, 165, 0, 255), 0F));
     e_55.Stroke = e_55_Stroke;
     e_55.StrokeThickness = 10F;
     Grid.SetColumn(e_55, 2);
     Grid.SetRow(e_55, 1);
     // e_56 element
     Line e_56 = new Line();
     e_49.Children.Add(e_56);
     e_56.Name = "e_56";
     e_56.Stroke = new SolidColorBrush(new ColorW(128, 128, 128, 255));
     e_56.StrokeThickness = 10F;
     e_56.X1 = 10F;
     e_56.X2 = 150F;
     e_56.Y1 = 10F;
     e_56.Y2 = 150F;
     Grid.SetRow(e_56, 2);
     // e_57 element
     Line e_57 = new Line();
     e_49.Children.Add(e_57);
     e_57.Name = "e_57";
     e_57.Stroke = new SolidColorBrush(new ColorW(128, 128, 128, 255));
     e_57.StrokeThickness = 10F;
     e_57.X1 = 100F;
     e_57.X2 = 100F;
     e_57.Y1 = 10F;
     e_57.Y2 = 100F;
     Grid.SetRow(e_57, 2);
     // e_58 element
     Line e_58 = new Line();
     e_49.Children.Add(e_58);
     e_58.Name = "e_58";
     e_58.Stroke = new SolidColorBrush(new ColorW(128, 128, 128, 255));
     e_58.StrokeThickness = 10F;
     e_58.X1 = 10F;
     e_58.X2 = 100F;
     e_58.Y1 = 100F;
     e_58.Y2 = 100F;
     Grid.SetRow(e_58, 2);
     // e_59 element
     Rectangle e_59 = new Rectangle();
     e_49.Children.Add(e_59);
     e_59.Name = "e_59";
     e_59.Height = 100F;
     e_59.Width = 200F;
     e_59.Margin = new Thickness(5F, 5F, 5F, 5F);
     ImageBrush e_59_Fill = new ImageBrush();
     BitmapImage e_59_Fill_bm = new BitmapImage();
     e_59_Fill_bm.TextureAsset = "Images/MonoGameLogo";
     e_59_Fill.ImageSource = e_59_Fill_bm;
     e_59_Fill.Stretch = Stretch.None;
     e_59.Fill = e_59_Fill;
     e_59.Stroke = new SolidColorBrush(new ColorW(255, 255, 255, 255));
     e_59.StrokeThickness = 1F;
     e_59.RadiusX = 10F;
     e_59.RadiusY = 10F;
     Grid.SetColumn(e_59, 1);
     Grid.SetRow(e_59, 2);
     // e_60 element
     Image e_60 = new Image();
     e_49.Children.Add(e_60);
     e_60.Name = "e_60";
     Grid.SetColumn(e_60, 2);
     Grid.SetRow(e_60, 2);
     Binding binding_e_60_Source = new Binding("RenderTargetSource");
     e_60.SetBinding(Image.SourceProperty, binding_e_60_Source);
     items.Add(e_48);
     // e_61 element
     TabItem e_61 = new TabItem();
     e_61.Name = "e_61";
     e_61.Header = "Animations";
     // e_62 element
     Grid e_62 = new Grid();
     e_61.Content = e_62;
     e_62.Name = "e_62";
     ColumnDefinition col_e_62_0 = new ColumnDefinition();
     e_62.ColumnDefinitions.Add(col_e_62_0);
     ColumnDefinition col_e_62_1 = new ColumnDefinition();
     e_62.ColumnDefinitions.Add(col_e_62_1);
     // e_63 element
     StackPanel e_63 = new StackPanel();
     e_62.Children.Add(e_63);
     e_63.Name = "e_63";
     // animButton1 element
     Button animButton1 = new Button();
     e_63.Children.Add(animButton1);
     animButton1.Name = "animButton1";
     animButton1.TabIndex = 1;
     animButton1.Content = "Mouse Over me!";
     animButton1.SetResourceReference(Button.StyleProperty, "buttonAnimStyle");
     // animButton2 element
     Button animButton2 = new Button();
     e_63.Children.Add(animButton2);
     animButton2.Name = "animButton2";
     animButton2.TabIndex = 2;
     animButton2.Content = "Mouse Over me!";
     animButton2.SetResourceReference(Button.StyleProperty, "buttonAnimStyle");
     // animButton3 element
     Button animButton3 = new Button();
     e_63.Children.Add(animButton3);
     animButton3.Name = "animButton3";
     animButton3.TabIndex = 3;
     animButton3.Content = "Mouse Over me!";
     animButton3.SetResourceReference(Button.StyleProperty, "buttonAnimStyle");
     // animButton4 element
     Button animButton4 = new Button();
     e_63.Children.Add(animButton4);
     animButton4.Name = "animButton4";
     animButton4.TabIndex = 4;
     animButton4.Content = "Mouse Over me!";
     animButton4.SetResourceReference(Button.StyleProperty, "buttonAnimStyle");
     // animBorder1 element
     Border animBorder1 = new Border();
     e_62.Children.Add(animBorder1);
     animBorder1.Name = "animBorder1";
     animBorder1.Height = 100F;
     animBorder1.Width = 200F;
     animBorder1.Margin = new Thickness(0F, 10F, 0F, 10F);
     animBorder1.VerticalAlignment = VerticalAlignment.Top;
     EventTrigger animBorder1_ET_0 = new EventTrigger(Border.LoadedEvent, animBorder1);
     animBorder1.Triggers.Add(animBorder1_ET_0);
     BeginStoryboard animBorder1_ET_0_AC_0 = new BeginStoryboard();
     animBorder1_ET_0_AC_0.Name = "animBorder1_ET_0_AC_0";
     animBorder1_ET_0.AddAction(animBorder1_ET_0_AC_0);
     Storyboard animBorder1_ET_0_AC_0_SB = new Storyboard();
     animBorder1_ET_0_AC_0.Storyboard = animBorder1_ET_0_AC_0_SB;
     animBorder1_ET_0_AC_0_SB.Name = "animBorder1_ET_0_AC_0_SB";
     SolidColorBrushAnimation animBorder1_ET_0_AC_0_SB_TL_0 = new SolidColorBrushAnimation();
     animBorder1_ET_0_AC_0_SB_TL_0.Name = "animBorder1_ET_0_AC_0_SB_TL_0";
     animBorder1_ET_0_AC_0_SB_TL_0.AutoReverse = true;
     animBorder1_ET_0_AC_0_SB_TL_0.Duration = new Duration(new TimeSpan(0, 0, 0, 5, 0));
     animBorder1_ET_0_AC_0_SB_TL_0.RepeatBehavior = RepeatBehavior.Forever;
     animBorder1_ET_0_AC_0_SB_TL_0.From = new ColorW(255, 255, 0, 255);
     animBorder1_ET_0_AC_0_SB_TL_0.To = new ColorW(0, 0, 255, 255);
     ExponentialEase animBorder1_ET_0_AC_0_SB_TL_0_EA = new ExponentialEase();
     animBorder1_ET_0_AC_0_SB_TL_0.EasingFunction = animBorder1_ET_0_AC_0_SB_TL_0_EA;
     Storyboard.SetTargetName(animBorder1_ET_0_AC_0_SB_TL_0, "animBorder1");
     Storyboard.SetTargetProperty(animBorder1_ET_0_AC_0_SB_TL_0, Border.BackgroundProperty);
     animBorder1_ET_0_AC_0_SB.Children.Add(animBorder1_ET_0_AC_0_SB_TL_0);
     Grid.SetColumn(animBorder1, 1);
     // animBorder2 element
     Border animBorder2 = new Border();
     e_62.Children.Add(animBorder2);
     animBorder2.Name = "animBorder2";
     animBorder2.Height = 50F;
     animBorder2.Width = 100F;
     animBorder2.Margin = new Thickness(50F, 35F, 50F, 35F);
     animBorder2.VerticalAlignment = VerticalAlignment.Top;
     EventTrigger animBorder2_ET_0 = new EventTrigger(Border.LoadedEvent, animBorder2);
     animBorder2.Triggers.Add(animBorder2_ET_0);
     BeginStoryboard animBorder2_ET_0_AC_0 = new BeginStoryboard();
     animBorder2_ET_0_AC_0.Name = "animBorder2_ET_0_AC_0";
     animBorder2_ET_0.AddAction(animBorder2_ET_0_AC_0);
     Storyboard animBorder2_ET_0_AC_0_SB = new Storyboard();
     animBorder2_ET_0_AC_0.Storyboard = animBorder2_ET_0_AC_0_SB;
     animBorder2_ET_0_AC_0_SB.Name = "animBorder2_ET_0_AC_0_SB";
     SolidColorBrushAnimation animBorder2_ET_0_AC_0_SB_TL_0 = new SolidColorBrushAnimation();
     animBorder2_ET_0_AC_0_SB_TL_0.Name = "animBorder2_ET_0_AC_0_SB_TL_0";
     animBorder2_ET_0_AC_0_SB_TL_0.AutoReverse = true;
     animBorder2_ET_0_AC_0_SB_TL_0.Duration = new Duration(new TimeSpan(0, 0, 0, 3, 0));
     animBorder2_ET_0_AC_0_SB_TL_0.RepeatBehavior = RepeatBehavior.Forever;
     animBorder2_ET_0_AC_0_SB_TL_0.From = new ColorW(255, 0, 0, 255);
     animBorder2_ET_0_AC_0_SB_TL_0.To = new ColorW(255, 255, 255, 255);
     CubicEase animBorder2_ET_0_AC_0_SB_TL_0_EA = new CubicEase();
     animBorder2_ET_0_AC_0_SB_TL_0.EasingFunction = animBorder2_ET_0_AC_0_SB_TL_0_EA;
     Storyboard.SetTargetName(animBorder2_ET_0_AC_0_SB_TL_0, "animBorder2");
     Storyboard.SetTargetProperty(animBorder2_ET_0_AC_0_SB_TL_0, Border.BackgroundProperty);
     animBorder2_ET_0_AC_0_SB.Children.Add(animBorder2_ET_0_AC_0_SB_TL_0);
     FloatAnimation animBorder2_ET_0_AC_0_SB_TL_1 = new FloatAnimation();
     animBorder2_ET_0_AC_0_SB_TL_1.Name = "animBorder2_ET_0_AC_0_SB_TL_1";
     animBorder2_ET_0_AC_0_SB_TL_1.AutoReverse = true;
     animBorder2_ET_0_AC_0_SB_TL_1.Duration = new Duration(new TimeSpan(0, 0, 0, 4, 0));
     animBorder2_ET_0_AC_0_SB_TL_1.RepeatBehavior = RepeatBehavior.Forever;
     animBorder2_ET_0_AC_0_SB_TL_1.From = 1F;
     animBorder2_ET_0_AC_0_SB_TL_1.To = 0F;
     Storyboard.SetTargetName(animBorder2_ET_0_AC_0_SB_TL_1, "animBorder2");
     Storyboard.SetTargetProperty(animBorder2_ET_0_AC_0_SB_TL_1, Border.OpacityProperty);
     animBorder2_ET_0_AC_0_SB.Children.Add(animBorder2_ET_0_AC_0_SB_TL_1);
     Grid.SetColumn(animBorder2, 1);
     items.Add(e_61);
     // e_64 element
     TabItem e_64 = new TabItem();
     e_64.Name = "e_64";
     e_64.Header = "Tetris";
     // e_65 element
     Border e_65 = new Border();
     e_64.Content = e_65;
     e_65.Name = "e_65";
     // e_66 element
     Grid e_66 = new Grid();
     e_65.Child = e_66;
     e_66.Name = "e_66";
     e_66.Margin = new Thickness(10F, 10F, 10F, 10F);
     RowDefinition row_e_66_0 = new RowDefinition();
     row_e_66_0.Height = new GridLength(1F, GridUnitType.Auto);
     e_66.RowDefinitions.Add(row_e_66_0);
     RowDefinition row_e_66_1 = new RowDefinition();
     row_e_66_1.Height = new GridLength(420F, GridUnitType.Pixel);
     e_66.RowDefinitions.Add(row_e_66_1);
     ColumnDefinition col_e_66_0 = new ColumnDefinition();
     e_66.ColumnDefinitions.Add(col_e_66_0);
     ColumnDefinition col_e_66_1 = new ColumnDefinition();
     e_66.ColumnDefinitions.Add(col_e_66_1);
     ColumnDefinition col_e_66_2 = new ColumnDefinition();
     e_66.ColumnDefinitions.Add(col_e_66_2);
     // e_67 element
     StackPanel e_67 = new StackPanel();
     e_66.Children.Add(e_67);
     e_67.Name = "e_67";
     e_67.HorizontalAlignment = HorizontalAlignment.Right;
     e_67.Orientation = Orientation.Vertical;
     Grid.SetRow(e_67, 1);
     // e_68 element
     TextBlock e_68 = new TextBlock();
     e_67.Children.Add(e_68);
     e_68.Name = "e_68";
     e_68.Text = "Next";
     // e_69 element
     Border e_69 = new Border();
     e_67.Children.Add(e_69);
     e_69.Name = "e_69";
     e_69.Height = 81F;
     e_69.Width = 81F;
     e_69.BorderBrush = new SolidColorBrush(new ColorW(255, 255, 255, 255));
     e_69.BorderThickness = new Thickness(0F, 0F, 1F, 1F);
     // tetrisNextContainer1 element
     Canvas tetrisNextContainer1 = new Canvas();
     e_69.Child = tetrisNextContainer1;
     tetrisNextContainer1.Name = "tetrisNextContainer1";
     tetrisNextContainer1.Height = 80F;
     tetrisNextContainer1.Width = 80F;
     // e_70 element
     Border e_70 = new Border();
     e_66.Children.Add(e_70);
     e_70.Name = "e_70";
     e_70.Height = 401F;
     e_70.Width = 201F;
     e_70.BorderBrush = new SolidColorBrush(new ColorW(255, 255, 255, 255));
     e_70.BorderThickness = new Thickness(0F, 0F, 1F, 1F);
     Grid.SetColumn(e_70, 1);
     Grid.SetRow(e_70, 1);
     // tetrisContainer1 element
     Canvas tetrisContainer1 = new Canvas();
     e_70.Child = tetrisContainer1;
     tetrisContainer1.Name = "tetrisContainer1";
     tetrisContainer1.Height = 400F;
     tetrisContainer1.Width = 200F;
     tetrisContainer1.HorizontalAlignment = HorizontalAlignment.Left;
     tetrisContainer1.VerticalAlignment = VerticalAlignment.Top;
     // e_71 element
     Grid e_71 = new Grid();
     e_66.Children.Add(e_71);
     e_71.Name = "e_71";
     RowDefinition row_e_71_0 = new RowDefinition();
     row_e_71_0.Height = new GridLength(1F, GridUnitType.Auto);
     e_71.RowDefinitions.Add(row_e_71_0);
     RowDefinition row_e_71_1 = new RowDefinition();
     row_e_71_1.Height = new GridLength(1F, GridUnitType.Auto);
     e_71.RowDefinitions.Add(row_e_71_1);
     ColumnDefinition col_e_71_0 = new ColumnDefinition();
     col_e_71_0.Width = new GridLength(1F, GridUnitType.Auto);
     e_71.ColumnDefinitions.Add(col_e_71_0);
     ColumnDefinition col_e_71_1 = new ColumnDefinition();
     col_e_71_1.Width = new GridLength(1F, GridUnitType.Star);
     e_71.ColumnDefinitions.Add(col_e_71_1);
     ColumnDefinition col_e_71_2 = new ColumnDefinition();
     col_e_71_2.Width = new GridLength(1F, GridUnitType.Auto);
     e_71.ColumnDefinitions.Add(col_e_71_2);
     Grid.SetColumnSpan(e_71, 3);
     Binding binding_e_71_DataContext = new Binding("Tetris");
     e_71.SetBinding(Grid.DataContextProperty, binding_e_71_DataContext);
     // e_72 element
     Button e_72 = new Button();
     e_71.Children.Add(e_72);
     e_72.Name = "e_72";
     e_72.Height = 30F;
     e_72.Content = "Start";
     Grid.SetColumnSpan(e_72, 3);
     Binding binding_e_72_Command = new Binding("StartCommand");
     e_72.SetBinding(Button.CommandProperty, binding_e_72_Command);
     // e_73 element
     Grid e_73 = new Grid();
     e_71.Children.Add(e_73);
     e_73.Name = "e_73";
     RowDefinition row_e_73_0 = new RowDefinition();
     row_e_73_0.Height = new GridLength(1F, GridUnitType.Auto);
     e_73.RowDefinitions.Add(row_e_73_0);
     ColumnDefinition col_e_73_0 = new ColumnDefinition();
     e_73.ColumnDefinitions.Add(col_e_73_0);
     ColumnDefinition col_e_73_1 = new ColumnDefinition();
     col_e_73_1.Width = new GridLength(70F, GridUnitType.Pixel);
     e_73.ColumnDefinitions.Add(col_e_73_1);
     ColumnDefinition col_e_73_2 = new ColumnDefinition();
     e_73.ColumnDefinitions.Add(col_e_73_2);
     Grid.SetColumn(e_73, 1);
     Grid.SetRow(e_73, 1);
     // spPlayer1 element
     StackPanel spPlayer1 = new StackPanel();
     e_73.Children.Add(spPlayer1);
     spPlayer1.Name = "spPlayer1";
     spPlayer1.HorizontalAlignment = HorizontalAlignment.Right;
     spPlayer1.Orientation = Orientation.Vertical;
     // e_74 element
     TextBlock e_74 = new TextBlock();
     spPlayer1.Children.Add(e_74);
     e_74.Name = "e_74";
     Binding binding_e_74_Text = new Binding("Score");
     e_74.SetBinding(TextBlock.TextProperty, binding_e_74_Text);
     // e_75 element
     TextBlock e_75 = new TextBlock();
     spPlayer1.Children.Add(e_75);
     e_75.Name = "e_75";
     Binding binding_e_75_Text = new Binding("Lines");
     e_75.SetBinding(TextBlock.TextProperty, binding_e_75_Text);
     // e_76 element
     TextBlock e_76 = new TextBlock();
     spPlayer1.Children.Add(e_76);
     e_76.Name = "e_76";
     Binding binding_e_76_Text = new Binding("Level");
     e_76.SetBinding(TextBlock.TextProperty, binding_e_76_Text);
     // e_77 element
     StackPanel e_77 = new StackPanel();
     e_73.Children.Add(e_77);
     e_77.Name = "e_77";
     e_77.HorizontalAlignment = HorizontalAlignment.Center;
     e_77.Orientation = Orientation.Vertical;
     Grid.SetColumn(e_77, 1);
     // e_78 element
     TextBlock e_78 = new TextBlock();
     e_77.Children.Add(e_78);
     e_78.Name = "e_78";
     e_78.Text = "SCORE";
     // e_79 element
     TextBlock e_79 = new TextBlock();
     e_77.Children.Add(e_79);
     e_79.Name = "e_79";
     e_79.Text = "LINES";
     // e_80 element
     TextBlock e_80 = new TextBlock();
     e_77.Children.Add(e_80);
     e_80.Name = "e_80";
     e_80.Text = "LEVEL";
     // e_81 element
     StackPanel e_81 = new StackPanel();
     e_73.Children.Add(e_81);
     e_81.Name = "e_81";
     e_81.HorizontalAlignment = HorizontalAlignment.Left;
     e_81.Orientation = Orientation.Horizontal;
     // e_82 element
     TextBlock e_82 = new TextBlock();
     e_81.Children.Add(e_82);
     e_82.Name = "e_82";
     e_82.Text = "Use A,S,D,W for left, down, right, rotate";
     items.Add(e_64);
     // e_83 element
     TabItem e_83 = new TabItem();
     e_83.Name = "e_83";
     e_83.Header = "User Control";
     // e_84 element
     UserControlTest e_84 = new UserControlTest();
     e_83.Content = e_84;
     e_84.Name = "e_84";
     items.Add(e_83);
     return items;
 }
Esempio n. 46
0
        private void chartControl1_MouseUp(object sender, MouseEventArgs e)
        {
            m_isDragging = false;
            _sp_dragging = null;
            timer4.Enabled = false;
            //<GS-07062010>
            CastSurfaceGraphChangedEventEx(nChartControl1.Charts[0].Projection.XDepth, nChartControl1.Charts[0].Projection.YDepth, nChartControl1.Charts[0].Projection.Zoom, nChartControl1.Charts[0].Projection.Rotation, nChartControl1.Charts[0].Projection.Elevation);

        }
Esempio n. 47
0
        private void chartControl1_ObjectHotTracked(object sender, HotTrackEventArgs e)
        {
            if (e.Object is Series)
            {
                Series s = (Series)e.Object;
                if (e.AdditionalObject is SeriesPoint)
                {
                    SeriesPoint sp = (SeriesPoint)e.AdditionalObject;
                    _sp_dragging = (SeriesPoint)e.AdditionalObject;
                    //timer4.Enabled = true;
                    // alleen hier selecteren, niet meer blinken
                    if (_sp_dragging != null)
                    {
                        string yaxisvalue = _sp_dragging.Argument;
                        int rowhandle = GetRowForAxisValue(yaxisvalue);
                        if (m_TableWidth == 1)
                        {
                            // single column graph..
                            int numberofrows = m_map_length;
                            if (m_issixteenbit) numberofrows /= 2;
                            rowhandle = (numberofrows - 1) - Convert.ToInt32(yaxisvalue);
                        }
                        if (rowhandle != -1)
                        {
                            gridView1.ClearSelection();
                            gridView1.SelectCell(rowhandle, gridView1.Columns[(int)trackBarControl1.Value]);
                        }
                    }

                    string detailline = Y_axis_name + ": " + sp.Argument + Environment.NewLine + Z_axis_name + ": " + sp.Values[0].ToString();
                    if (m_map_name.StartsWith("Ign_map_0!") || m_map_name.StartsWith("Ign_map_4!")) detailline += " \u00b0";// +"C";
                    toolTipController1.ShowHint(detailline, "Details", Cursor.Position);
                }
            }
            else
            {
                toolTipController1.HideHint();

            }
        }
 private void UpdateSeries(string armyid, string playername, string category, string type, string description, double value)
 {
     string key = armyid + " " + playername + " " + category + " " + type + " " + description;
     Series series = null;
     if (!this.mSeries.ContainsKey(key))
     {
         series = this.gpgChartControl.Series[this.gpgChartControl.Series.Add(key, ViewType.Line)];
         series.Label.Text = playername + " " + description;
         series.Label.Visible = false;
         series.Visible = false;
         this.mSeries.Add(key, series);
         string name = armyid + " " + playername + " " + category + " Stats";
         if (this.NodeByName(name) == null)
         {
             this.gpgTreeList.AppendNode(new object[] { false, name }, this.NodeByName(category + " Stats"));
         }
         string str3 = armyid + " " + playername + " " + type;
         if (this.NodeByName(str3) == null)
         {
             TreeListNode node = this.gpgTreeList.AppendNode(new object[] { false, str3 }, this.NodeByName(name));
             if (description == "")
             {
                 node.Tag = series;
             }
         }
         if (description != "")
         {
             string str4 = armyid + " " + playername + " " + description + " " + type;
             if (this.NodeByName(str4) == null)
             {
                 this.gpgTreeList.AppendNode(new object[] { false, str4 }, this.NodeByName(str3)).Tag = series;
                 series.Visible = (bool) this.NodeByName(str4)[this.colVisible];
             }
         }
     }
     else
     {
         series = this.mSeries[key] as Series;
     }
     SeriesPoint point = new SeriesPoint((double) this.mTime, new double[] { value });
     series.Points.Add(point);
 }
Esempio n. 49
0
        void SelectedRangeChanged(object sender, EventArgs args)
        {

            DateTime _RangeStartDateTime = (DateTime)rangeControl.SelectionRangeStart;
            DateTime _RangeEndDateTime = (DateTime)rangeControl.SelectionRangeEnd;

            string sRangeStartDate = string.Format("{0:D4}{1:D2}{2:D2}", _RangeStartDateTime.Date.Year, _RangeStartDateTime.Date.Month, _RangeStartDateTime.Date.Day);
            string sRangeEndDate = string.Format("{0:D4}{1:D2}{2:D2}", _RangeEndDateTime.Date.Year, _RangeEndDateTime.Date.Month, _RangeEndDateTime.Date.Day);

            DXSplashScreen.Show<SplashScreenView>();

            // 초기화
            {
                PointSeries2D.Points.Clear();
                BarSeries1.Points.Clear();
                BarSeries2.Points.Clear();
                BarSeries3.Points.Clear();
            }

            // 클릭한 이름과 클릭한 날짜 범위로 시간을 조회한다.
            if (nSelectedItemID == 0)
            {
                ObservableCollection<TreeCtrlItem> TreeCtrlItemList = ResearcherGrid.ItemsSource as ObservableCollection<TreeCtrlItem>;

                int nItemCount = TreeCtrlItemList.Count;

                for (int i = 0; i < nItemCount; i++)
                {
                    TreeCtrlItem _Item = TreeCtrlItemList[i];

                    switch(_Item.ParentID)
                    {
                        case 1:
                            {
                                // Bar Series
                                {
                                    string _sName = _Item.Name;

                                    int nCount = 0;
                                    int nSumHours = 0;

                                    // MDB Connection
                                    {
                                        string strComm = string.Format("select max(e_time), min(e_time), e_date from tenter where e_name = '{2}' and e_date >= '{0}' and '{1}' >= e_date group by e_date", sRangeStartDate, sRangeEndDate, _sName);
                                        string strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Jet OLEDB:Database Password=fdmsamho;Data Source=" + sMDBFilePath;


                                        OleDbConnection oleConn = new OleDbConnection(strConnectionString);

                                        oleConn.Open();

                                        OleDbCommand oleTomm = new OleDbCommand();

                                        oleTomm.Connection = oleConn;
                                        oleTomm.CommandText = strComm;

                                        OleDbDataReader Teader = oleTomm.ExecuteReader();

                                        while (Teader.Read())
                                        {
                                            string sMaxTime, sMinTime, sDate;

                                            sMaxTime = Teader[0].ToString();
                                            sMinTime = Teader[1].ToString();
                                            sDate = Teader[2].ToString();

                                            int nYear, nMon, nDay, nHour, nMin, nSec;

                                            nYear = Convert.ToInt32(sDate.Substring(0, 4));
                                            nMon = Convert.ToInt32(sDate.Substring(4, 2));
                                            nDay = Convert.ToInt32(sDate.Substring(6, 2));

                                            // Start
                                            nHour = Convert.ToInt32(sMaxTime.Substring(0, 2));
                                            nMin = Convert.ToInt32(sMaxTime.Substring(2, 2));
                                            nSec = Convert.ToInt32(sMaxTime.Substring(4, 2));

                                            DateTime _StartDateTime = new DateTime(nYear, nMon, nDay, nHour, nMin, nSec);
                                            TimeSpan _StartTimeSpan = new TimeSpan(nHour, nMin, nSec);

                                            // End
                                            nHour = Convert.ToInt32(sMinTime.Substring(0, 2));
                                            nMin = Convert.ToInt32(sMinTime.Substring(2, 2));
                                            nSec = Convert.ToInt32(sMinTime.Substring(4, 2));

                                            DateTime _EndDateTime = new DateTime(nYear, nMon, nDay, nHour, nMin, nSec);
                                            TimeSpan _EndTimeSpan = new TimeSpan(nHour, nMin, nSec);

                                            // 크기 비교
                                            DateTime FirstDateTime, SecondDateTime;

                                            if (_StartDateTime >= _EndDateTime)
                                                FirstDateTime = _StartDateTime;
                                            else
                                                FirstDateTime = _EndDateTime;

                                            if (_StartDateTime < _EndDateTime)
                                                SecondDateTime = _StartDateTime;
                                            else
                                                SecondDateTime = _EndDateTime;

                                            // 총 시간 계산
                                            TimeSpan _WorkTimeSpan = FirstDateTime - SecondDateTime;

                                            if (_WorkTimeSpan.Hours <= 0)
                                                continue;

                                            nSumHours += _WorkTimeSpan.Hours;
                                            nCount++;
                                        }

                                        Teader.Close();
                                        oleConn.Close();
                                    }
                                    if (nCount > 0)
                                        BarSeries1.Points.Add(new SeriesPoint(_Item.Name, nSumHours / nCount));
                                }
                           
                                break;
                            }
                        case 2:
                            {
                                // Bar Series
                                {
                                    string _sName = _Item.Name;

                                    int nCount = 0;
                                    int nSumHours = 0;

                                    // MDB Connection
                                    {
                                        string strComm = string.Format("select max(e_time), min(e_time), e_date from tenter where e_name = '{2}' and e_date >= '{0}' and '{1}' >= e_date group by e_date", sRangeStartDate, sRangeEndDate, _sName);
                                        string strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Jet OLEDB:Database Password=fdmsamho;Data Source=" + sMDBFilePath;


                                        OleDbConnection oleConn = new OleDbConnection(strConnectionString);

                                        oleConn.Open();

                                        OleDbCommand oleTomm = new OleDbCommand();

                                        oleTomm.Connection = oleConn;
                                        oleTomm.CommandText = strComm;

                                        OleDbDataReader Teader = oleTomm.ExecuteReader();

                                        while (Teader.Read())
                                        {
                                            string sMaxTime, sMinTime, sDate;

                                            sMaxTime = Teader[0].ToString();
                                            sMinTime = Teader[1].ToString();
                                            sDate = Teader[2].ToString();

                                            int nYear, nMon, nDay, nHour, nMin, nSec;

                                            nYear = Convert.ToInt32(sDate.Substring(0, 4));
                                            nMon = Convert.ToInt32(sDate.Substring(4, 2));
                                            nDay = Convert.ToInt32(sDate.Substring(6, 2));

                                            // Start
                                            nHour = Convert.ToInt32(sMaxTime.Substring(0, 2));
                                            nMin = Convert.ToInt32(sMaxTime.Substring(2, 2));
                                            nSec = Convert.ToInt32(sMaxTime.Substring(4, 2));

                                            DateTime _StartDateTime = new DateTime(nYear, nMon, nDay, nHour, nMin, nSec);
                                            TimeSpan _StartTimeSpan = new TimeSpan(nHour, nMin, nSec);

                                            // End
                                            nHour = Convert.ToInt32(sMinTime.Substring(0, 2));
                                            nMin = Convert.ToInt32(sMinTime.Substring(2, 2));
                                            nSec = Convert.ToInt32(sMinTime.Substring(4, 2));

                                            DateTime _EndDateTime = new DateTime(nYear, nMon, nDay, nHour, nMin, nSec);
                                            TimeSpan _EndTimeSpan = new TimeSpan(nHour, nMin, nSec);

                                            // 크기 비교
                                            DateTime FirstDateTime, SecondDateTime;

                                            if (_StartDateTime >= _EndDateTime)
                                                FirstDateTime = _StartDateTime;
                                            else
                                                FirstDateTime = _EndDateTime;

                                            if (_StartDateTime < _EndDateTime)
                                                SecondDateTime = _StartDateTime;
                                            else
                                                SecondDateTime = _EndDateTime;

                                            // 총 시간 계산
                                            TimeSpan _WorkTimeSpan = FirstDateTime - SecondDateTime;

                                            if (_WorkTimeSpan.Hours <= 0)
                                                continue;

                                            nSumHours += _WorkTimeSpan.Hours;
                                            nCount++;
                                        }

                                        Teader.Close();
                                        oleConn.Close();
                                    }
                                    if (nCount > 0)
                                        BarSeries2.Points.Add(new SeriesPoint(_Item.Name, nSumHours / nCount));
                                }
                                break;
                            }
                        case 3:
                            {
                                // Bar Series
                                {
                                    string _sName = _Item.Name;

                                    int nCount = 0;
                                    int nSumHours = 0;

                                    // MDB Connection
                                    {
                                        string strComm = string.Format("select max(e_time), min(e_time), e_date from tenter where e_name = '{2}' and e_date >= '{0}' and '{1}' >= e_date group by e_date", sRangeStartDate, sRangeEndDate, _sName);
                                        string strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Jet OLEDB:Database Password=fdmsamho;Data Source=" + sMDBFilePath;


                                        OleDbConnection oleConn = new OleDbConnection(strConnectionString);

                                        oleConn.Open();

                                        OleDbCommand oleTomm = new OleDbCommand();

                                        oleTomm.Connection = oleConn;
                                        oleTomm.CommandText = strComm;

                                        OleDbDataReader Teader = oleTomm.ExecuteReader();

                                        while (Teader.Read())
                                        {
                                            string sMaxTime, sMinTime, sDate;

                                            sMaxTime = Teader[0].ToString();
                                            sMinTime = Teader[1].ToString();
                                            sDate = Teader[2].ToString();

                                            int nYear, nMon, nDay, nHour, nMin, nSec;

                                            nYear = Convert.ToInt32(sDate.Substring(0, 4));
                                            nMon = Convert.ToInt32(sDate.Substring(4, 2));
                                            nDay = Convert.ToInt32(sDate.Substring(6, 2));

                                            // Start
                                            nHour = Convert.ToInt32(sMaxTime.Substring(0, 2));
                                            nMin = Convert.ToInt32(sMaxTime.Substring(2, 2));
                                            nSec = Convert.ToInt32(sMaxTime.Substring(4, 2));

                                            DateTime _StartDateTime = new DateTime(nYear, nMon, nDay, nHour, nMin, nSec);
                                            TimeSpan _StartTimeSpan = new TimeSpan(nHour, nMin, nSec);

                                            // End
                                            nHour = Convert.ToInt32(sMinTime.Substring(0, 2));
                                            nMin = Convert.ToInt32(sMinTime.Substring(2, 2));
                                            nSec = Convert.ToInt32(sMinTime.Substring(4, 2));

                                            DateTime _EndDateTime = new DateTime(nYear, nMon, nDay, nHour, nMin, nSec);
                                            TimeSpan _EndTimeSpan = new TimeSpan(nHour, nMin, nSec);

                                            // 크기 비교
                                            DateTime FirstDateTime, SecondDateTime;

                                            if (_StartDateTime >= _EndDateTime)
                                                FirstDateTime = _StartDateTime;
                                            else
                                                FirstDateTime = _EndDateTime;

                                            if (_StartDateTime < _EndDateTime)
                                                SecondDateTime = _StartDateTime;
                                            else
                                                SecondDateTime = _EndDateTime;

                                            // 총 시간 계산
                                            TimeSpan _WorkTimeSpan = FirstDateTime - SecondDateTime;

                                            if (_WorkTimeSpan.Hours <= 0)
                                                continue;

                                            nSumHours += _WorkTimeSpan.Hours;
                                            nCount++;
                                        }

                                        Teader.Close();
                                        oleConn.Close();
                                    }
                                    if (nCount > 0)
                                        BarSeries3.Points.Add(new SeriesPoint(_Item.Name, nSumHours / nCount));
                                }
                                break;
                            }
                    }
                }
            }
            else if (nSelectedItemID == 1 || nSelectedItemID == 2 || nSelectedItemID == 3)
            {
                // 그룹이 선택되었다면,
                ObservableCollection<TreeCtrlItem> TreeCtrlItemList = ResearcherGrid.ItemsSource as ObservableCollection<TreeCtrlItem>;

                int nItemCount = TreeCtrlItemList.Count;
                int nSelectedItemCount = 0;

                for (int i = 0; i < nItemCount; i++)
                {
                    TreeCtrlItem _Item = TreeCtrlItemList[i];

                    if (_Item.ParentID == nSelectedItemID)
                    {
                        string _sName = _Item.Name;

                        // Random Color
                        Random _Random = new Random();
                        byte[] colorBytes = new byte[3];
                        _Random.NextBytes(colorBytes);
                        System.Windows.Media.Color randomColor = System.Windows.Media.Color.FromRgb(colorBytes[0], colorBytes[1], colorBytes[2]);

                        // MDB Connection
                        {
                            string strComm = string.Format("select max(e_time), min(e_time), e_date from tenter where e_name = '{2}' and e_date >= '{0}' and '{1}' >= e_date group by e_date", sRangeStartDate, sRangeEndDate, _sName);

                            string strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Jet OLEDB:Database Password=fdmsamho;Data Source=" + sMDBFilePath;

                            OleDbConnection oleConn = new OleDbConnection(strConnectionString);

                            oleConn.Open();

                            OleDbCommand oleTomm = new OleDbCommand();

                            oleTomm.Connection = oleConn;
                            oleTomm.CommandText = strComm;

                            OleDbDataReader Teader = oleTomm.ExecuteReader();

                            while (Teader.Read())
                            {
                                string sMaxTime, sMinTime, sDate;

                                sMaxTime = Teader[0].ToString();
                                sMinTime = Teader[1].ToString();
                                sDate = Teader[2].ToString();

                                int nYear, nMon, nDay, nHour, nMin, nSec;

                                nYear = Convert.ToInt32(sDate.Substring(0, 4));
                                nMon = Convert.ToInt32(sDate.Substring(4, 2));
                                nDay = Convert.ToInt32(sDate.Substring(6, 2));

                                // Start

                                nHour = Convert.ToInt32(sMaxTime.Substring(0, 2));
                                nMin = Convert.ToInt32(sMaxTime.Substring(2, 2));
                                nSec = Convert.ToInt32(sMaxTime.Substring(4, 2));

                                DateTime _StartDateTime = new DateTime();
                                _StartDateTime = _StartDateTime.Add(new TimeSpan(nHour, nMin, nSec));

                                SeriesPoint _StartSeriesPoint = new SeriesPoint(string.Format("{0:D4}년 {1:D2}월 {2:D2}일", nYear, nMon, nDay), _StartDateTime);
                                _StartSeriesPoint.Brush = new SolidColorBrush(randomColor);

                                PointSeries2D.Points.Add(_StartSeriesPoint);

                                // End

                                nHour = Convert.ToInt32(sMinTime.Substring(0, 2));
                                nMin = Convert.ToInt32(sMinTime.Substring(2, 2));
                                nSec = Convert.ToInt32(sMinTime.Substring(4, 2));

                                DateTime _EndDateTime = new DateTime();
                                _EndDateTime = _EndDateTime.Add(new TimeSpan(nHour, nMin, nSec));

                                SeriesPoint _EndSeriesPoint = new SeriesPoint(string.Format("{0:D4}년 {1:D2}월 {2:D2}일", nYear, nMon, nDay), _EndDateTime);
                                _EndSeriesPoint.Brush = new SolidColorBrush(randomColor);

                                PointSeries2D.Points.Add(_EndSeriesPoint);
                            }

                            Teader.Close();
                            oleConn.Close();

                            
                        }

                        nSelectedItemCount++;
                    }

                }

            }
            else
            {
                ObservableCollection<TreeCtrlItem> TreeCtrlItemList = ResearcherGrid.ItemsSource as ObservableCollection<TreeCtrlItem>;

                int nItemCount = TreeCtrlItemList.Count;
                
                for (int i = 0; i < nItemCount; i++)
                {
                    TreeCtrlItem _Item = TreeCtrlItemList[i];

                    if( _Item.ID == nSelectedItemID )
                    {
                        string _sName = _Item.Name;

                        // Random Color
                        Random rand = new Random();
                        byte[] colorBytes = new byte[3];
                        rand.NextBytes(colorBytes);
                        System.Windows.Media.Color randomColor = System.Windows.Media.Color.FromRgb(colorBytes[0], colorBytes[1], colorBytes[2]);

                        // MDB Connection
                        {
                            string strComm = string.Format("select max(e_time), min(e_time), e_date from tenter where e_name = '{2}' and e_date >= '{0}' and '{1}' >= e_date group by e_date", sRangeStartDate, sRangeEndDate, _sName);

                            string strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Jet OLEDB:Database Password=fdmsamho;Data Source=" + sMDBFilePath;

                            OleDbConnection oleConn = new OleDbConnection(strConnectionString);

                            oleConn.Open();

                            OleDbCommand oleTomm = new OleDbCommand();

                            oleTomm.Connection = oleConn;
                            oleTomm.CommandText = strComm;

                            OleDbDataReader Teader = oleTomm.ExecuteReader();

                            while (Teader.Read())
                            {
                                string sMaxTime, sMinTime, sDate;

                                sMaxTime = Teader[0].ToString();
                                sMinTime = Teader[1].ToString();
                                sDate = Teader[2].ToString();

                                int nYear, nMon, nDay, nHour, nMin, nSec;

                                nYear = Convert.ToInt32(sDate.Substring(0, 4));
                                nMon = Convert.ToInt32(sDate.Substring(4, 2));
                                nDay = Convert.ToInt32(sDate.Substring(6, 2));

                                DateTime _DateTime = new DateTime(nYear, nMon, nDay);

                                if( _DateTime.DayOfWeek.ToString() == "Saturday" || _DateTime.DayOfWeek.ToString() == "Sunday" )
                                {
                                    //continue;
                                }

                                // Start

                                nHour = Convert.ToInt32(sMaxTime.Substring(0, 2));
                                nMin = Convert.ToInt32(sMaxTime.Substring(2, 2));
                                nSec = Convert.ToInt32(sMaxTime.Substring(4, 2));

                                DateTime _StartDateTime = new DateTime();
                                _StartDateTime = _StartDateTime.Add(new TimeSpan(nHour, nMin, nSec));

                                SeriesPoint _StartSeriesPoint =  new SeriesPoint(string.Format("{0:D4}년 {1:D2}월 {2:D2}일", nYear, nMon, nDay), _StartDateTime);
                                _StartSeriesPoint.Brush = new SolidColorBrush(randomColor);

                                PointSeries2D.Points.Add(_StartSeriesPoint);

                                // End

                                nHour = Convert.ToInt32(sMinTime.Substring(0, 2));
                                nMin = Convert.ToInt32(sMinTime.Substring(2, 2));
                                nSec = Convert.ToInt32(sMinTime.Substring(4, 2));

                                DateTime _EndDateTime = new DateTime();
                                _EndDateTime = _EndDateTime.Add(new TimeSpan(nHour, nMin, nSec));

                                SeriesPoint _EndSeriesPoint = new SeriesPoint(string.Format("{0:D4}년 {1:D2}월 {2:D2}일", nYear, nMon, nDay), _EndDateTime);
                                _EndSeriesPoint.Brush = new SolidColorBrush(randomColor);

                                PointSeries2D.Points.Add(_EndSeriesPoint);

                                // End - Start
                                
                            }

                            Teader.Close();
                            oleConn.Close();


                        }
                        break;
                    }
                }
            }

            DXSplashScreen.Close();
        }
Esempio n. 50
0
 private void trackBarControl1_ValueChanged(object sender, EventArgs e)
 {
     if (!m_trackbarBlocked)
     {
         if (m_TableWidth > 1)
         {
             UpdateChartControlSlice(GetDataFromGridView(false));
             _sp_dragging = null;
             timer4.Enabled = false;
             CastSliderMoveEvent();
         }
     }
 }
Esempio n. 51
0
 public static ChartControl CreatXYChart(SolidColorBrush forecolor, string ChartTitle, List<ChartDataChartCommonData> dtchart)
 {
     mausac = 0;
     ChartControl abc = new ChartControl();
     XYDiagram2D dg1 = new XYDiagram2D();
     //Tao Tile cho Chart
     Title nt = new Title();
     nt.Content = ChartTitle;
     nt.Foreground = forecolor;
     abc.Titles.Add(nt);
     //Tinh so Series
     List<string> countsr = (from p in dtchart group p by p.Series into g select g.Key).ToList();
     //Creat Diagram
     abc.Diagram = dg1;
     //Begin tao guong
     Pane pane1 = new Pane();
     pane1.MirrorHeight = 100;//Do cao guong
     dg1.DefaultPane = pane1;
     //End tao guong
     //Begin set kieu bieu do
     for (int i = 0; i < countsr.Count; i++)
     {
         BarSideBySideSeries2D dgs1 = new BarSideBySideSeries2D() { DisplayName = countsr[i].ToString() };//Neu ko co DisplayName chu thich khong hien thi
         Quasi3DBar2DModel an1 = new Quasi3DBar2DModel();
         dgs1.Model = an1;
         foreach (ChartDataChartCommonData dr in dtchart)//Tao cac point
         {
             if (dr.Series == countsr.ElementAt(i))
             {
                 //Tao Series
                 SeriesPoint sr1 = new SeriesPoint();
                 sr1.Argument = dr.Agrument;
                 sr1.Value = dr.Value;
                 sr1.Tag = mausac.ToString();
                 dgs1.Points.Add(sr1);
                 mausac++;
             }
         }
         SeriesLabel lbl1 = new SeriesLabel();
         dgs1.LabelsVisibility = true;//Hien thi Lablel cho tung vung
         lbl1.Indent = 10;
         lbl1.ConnectorThickness = 1;
         lbl1.ResolveOverlappingMode = ResolveOverlappingMode.Default;
         dgs1.Label = lbl1;
         dg1.Series.Add(dgs1);
     }
     //Tao chu thich
     abc.Legend = new Legend()
     {
         VerticalPosition = VerticalPosition.BottomOutside,
         HorizontalPosition = HorizontalPosition.Center,
         Orientation = Orientation.Horizontal
     };
     //End tao chu thich
     return abc;
 }
Esempio n. 52
0
 public ChartVariable2()
 {
     data = new SeriesPoint();
 }