/// <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)); }
/// <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); } }
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); }
/// <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(); } }
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"); } } }
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()); }
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; }
/// <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; } }
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); } }
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); }
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); } } }
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; }
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); }
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; }
/// <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; } }
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); } }
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); }
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); }
/// <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(); }
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); } }
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); } }
/// <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); } }
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; }
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); } }
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(); }
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; }
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); } }
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(); }
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; }
/// <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); } } }
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]); }
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; }
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(); }
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 })); }
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; }
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); }
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); }
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(); }
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(); } } }
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; }
public ChartVariable2() { data = new SeriesPoint(); }