protected override void DrawChartWithSeriesInfo() { SeriesInfo si = null; ChartUtility chartUtil = new ChartUtility(); int iCount = (int)ChartUtility.CHAERT_SERIES_COLOR.COUNT; for (int i = 0; i < this.dtDataSource.Columns.Count; i++) { string seriesName = this.dtDataSource.Columns[i].ColumnName; if (seriesName == CommonChart.COLUMN_NAME_SEQ_INDEX || seriesName == Definition.CHART_COLUMN.TIME || seriesName == Definition.CHART_COLUMN.TIME2 || seriesName == Definition.COL_TOGGLE || seriesName == Definition.COL_TOGGLE_YN || seriesName == Definition.CHART_COLUMN.DTSOURCEID || lstRawColumn.Contains(seriesName)) { continue; } si = new SeriesInfo(typeof(Line), seriesName, this.dtDataSource, CommonChart.COLUMN_NAME_SEQ_INDEX, seriesName); switch (seriesName) { case Definition.CHART_COLUMN.UCL: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.UCL); break; case Definition.CHART_COLUMN.LCL: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.LCL); break; case Definition.CHART_COLUMN.LSL: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.LSL); break; case Definition.CHART_COLUMN.USL: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.USL); break; case Definition.CHART_COLUMN.MIN: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.MIN); break; case Definition.CHART_COLUMN.MAX: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.MAX); break; case Definition.CHART_COLUMN.TARGET: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.TARGET); break; default: if ((seriesName == Definition.CHART_COLUMN.RAW) || (seriesName == Definition.CHART_COLUMN.STDDEV) || (seriesName == Definition.CHART_COLUMN.AVG) || (seriesName == Definition.CHART_COLUMN.RANGE) || (seriesName == Definition.CHART_COLUMN.MA) || (seriesName == Definition.CHART_COLUMN.MSD) || (seriesName == Definition.CHART_COLUMN.MR) || (seriesName == Definition.CHART_COLUMN.MEAN) || (seriesName == Definition.CHART_COLUMN.EWMAMEAN) || (seriesName == Definition.CHART_COLUMN.EWMARANGE) || (seriesName == Definition.CHART_COLUMN.EWMASTDDEV)) { si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.AVG); } else { si.SeriesColor = chartUtil.GetSeriesColor(iCount++); } break; } this.DrawChart(si); } }
public void TestRealLife_Chart22() { const string fileName = @"d:\temp\ScottPlott_Chart22.png"; if (File.Exists(fileName)) { File.Delete(fileName); } var data = new ChartData { Title = "Test portfolio", Copyright = "Testfirma", XLabelText = "Anlageklassen", YLabelText = "Anteil in %", FileName = fileName, ChartType = ChartType.LineChart, //PaperColor = Color.Red }; TestHelper.LoadDefaultChartStyle(data, HighResolution); var dt = TestHelper.GetDataTable("chart22.xml"); ChartUtility.DataTableToChartItemData(dt, "1;5;6;7", data); var x = new ChartHandler { ChartData = data }; x.Export(); TestHelper.StartFile(fileName); }
public void InitializeVariable() { this._Initialization = new Initialization(); this._Initialization.InitializePath(); this._mlthandler = MultiLanguageHandler.getInstance(); this.chartUtil = new ChartUtility(); }
public void InitializeVariable() { this._Initialization = new Initialization(); this._mlthandler = MultiLanguageHandler.getInstance(); this._Initialization.InitializePath(); this._lstRawColumn = new List <string>(); this._chartUtil = new ChartUtility(); }
public void InitializeVariable() { this._Initialization = new Initialization(); this._Initialization.InitializePath(); this._mlthandler = MultiLanguageHandler.getInstance(); this._chartUtil = new ChartUtility(); this.AnalysisChart.ClearChart(); this.InitSeriesColor(); }
public void InitializeVariable() { this._Initialization = new Initialization(); this._mlthandler = MultiLanguageHandler.getInstance(); this._Initialization.InitializePath(); this._lstRawColumn = new List <string>(); this._chartUtil = new ChartUtility(); this._wsSPC = new WebServiceController <eSPCWebService.eSPCWebService>().Create(); }
protected override void DrawChartWithSeriesInfoForSumChart() { SeriesInfo si = null; ChartUtility chartUtil = new ChartUtility(); int iCount = (int)ChartUtility.CHAERT_SERIES_COLOR.COUNT; for (int i = 0; i < this.dtDataSource.Columns.Count; i++) { string seriesName = this.dtDataSource.Columns[i].ColumnName; if (seriesName == CommonChart.COLUMN_NAME_SEQ_INDEX || seriesName == Definition.CHART_COLUMN.TIME || seriesName == Definition.CHART_COLUMN.TIME2 || seriesName == Definition.CHART_COLUMN.DTSOURCEID || seriesName == Definition.COL_TOGGLE_YN || lstRawColumn.Contains(seriesName)) { continue; } si = new SeriesInfo(typeof(ExtremeBFastLine), seriesName, this.dtDataSource, CommonChart.COLUMN_NAME_SEQ_INDEX, seriesName); si.TreatNulls = TreatNullsStyle.DoNotPaint; switch (seriesName) { case Definition.CHART_COLUMN.UCL: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.UCL); break; case Definition.CHART_COLUMN.LCL: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.LCL); break; case Definition.CHART_COLUMN.LSL: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.LSL); break; case Definition.CHART_COLUMN.USL: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.USL); break; case Definition.CHART_COLUMN.TARGET: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.TARGET); break; default: if ((seriesName == Definition.CHART_COLUMN.P) || (seriesName == Definition.CHART_COLUMN.PN) || (seriesName == Definition.CHART_COLUMN.C) || (seriesName == Definition.CHART_COLUMN.U)) { si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.AVG); } else { si.SeriesColor = chartUtil.GetSeriesColor(iCount++); } break; } this.DrawChart(si); } }
/// <summary> /// Get data for a sample point chart /// </summary> /// <param name="useDatabase"></param> /// <param name="data"></param> /// <returns></returns> internal static void PointChartSample(bool useDatabase, ChartData data) { var erg = data.DataSource; if (useDatabase) { var dt = TestHelper.GetDataTable("PointChart.xml"); ChartUtility.DataTableToPointChartItemData(dt, "", data); } else { // shares var item = new PointChartItemData { XValue = 10, YValue = 8, Label = "Aktien", Color = Color.Red }; erg.Add(item); // fixed income item = new PointChartItemData { XValue = 5, YValue = 4, Label = "Anleihen", Color = Color.Gray }; erg.Add(item); // liquidity item = new PointChartItemData { XValue = 2, YValue = 1, Label = "Liquidität", Color = Color.LightGray }; erg.Add(item); data.PropertiesToUseForChart.Add("Risk"); data.PropertiesToUseForChart.Add("Return"); } }
private IEnumerator ShowResult() { StaticValue.trackCount++; yield return(Find.GetSceneLoadManager().LoadResultScene()); yield return(null); resultController = GameObject.FindWithTag("ResultController").GetComponent <ResultController>(); ResultData resultData = new ResultData(); ClearType clearType = JudgeClearType(); Difficulty selectDif = StaticValue.difficulty; string musicTitle = musicStruct.musicName; int score = uiCountroller.targetScore; int bestScore = ChartUtility.GetBestScore(StaticValue.loadName, selectDif); resultData.musicTitle = musicTitle; resultData.clearType = clearType; resultData.composer = musicStruct.composer; resultData.difficulty = selectDif; resultData.score = uiCountroller.targetScore; resultData.bestScore = bestScore; resultData.judgeCount = uiData.judgeCount; resultData.level = GetPlayingChart().level; resultData.maxCombo = uiData.maxConbo; resultData.fastCount = inputController.fastCount; resultData.lateCount = inputController.lateCount; resultController.SetUIValue(resultData); yield return(new WaitForSeconds(0.5f)); resultController.PlayResultAnim(true); float loadTime = 2.5f; if (!StaticValue.isAuto) { float nowTime = Time.realtimeSinceStartup; yield return(StartCoroutine(ChartUtility.WriteScoreDataFromResult(StaticValue.loadName, score, selectDif, clearType))); loadTime = Mathf.Clamp(loadTime - Time.realtimeSinceStartup - nowTime, 0, 2.5f); } yield return(new WaitForSeconds(loadTime)); isResult = true; }
public void TestRealLife_Chart3() { const string fileName = @"d:\temp\ScottPlott_Chart3.png"; if (File.Exists(fileName)) { File.Delete(fileName); } var data = new ChartData { Title = "Test portfolio", Copyright = "Testfirma", XLabelText = "Anlageklassen", YLabelText = "Anteil in %", FileName = fileName, ChartType = ChartType.LineChart, //PaperColor = Color.Red }; TestHelper.LoadDefaultChartStyle(data, HighResolution); var dt = TestHelper.GetDataTable("chart3.xml"); ChartUtility.DataTableToChartItemData(dt, "", data); data.ChartStyle.XAxisNumberformat = "dd.MM.yyyy"; data.PropertiesToUseForChart.Add("XValue"); data.PropertiesToUseForChart.Add("YValue1"); data.PropertiesToUseForChart.Add("YValue2"); data.PropertiesToUseForChart.Add("YValue3"); data.LabelsForSeries.Add("Aktien"); data.LabelsForSeries.Add("Renten"); data.LabelsForSeries.Add("Liquidität"); var x = new ChartHandler { ChartData = data }; x.Export(); TestHelper.StartFile(fileName); }
public IEnumerator StartInit() { Application.targetFrameRate = 60; loadName = StaticValue.loadName; if (Constant.CompareEnv(GameEnvironment.local)) { musicStruct = ChartUtility.LoadMusicData(loadName); } else if (Constant.CompareEnv(GameEnvironment.webGL)) { CacheStruct cacheStruct = ChartUtility.FindCacheStruct(loadName); musicStruct = cacheStruct.musicStruct; scoreData = cacheStruct.scoreStruct; } yield return(StartCoroutine(GameInit())); }
public void TestScalinglineChartsMechanism1() { //Arrange var max = 1.47; var min = 0.76; // Act var interval = ChartUtility.GetMinMaxForLineChart(ref min, ref max); //Assert Debug.Print("{0:#,##0.000000}", min); Debug.Print("{0:#,##0.000000}", max); Debug.Print("{0:#,##0.000000}", interval); Assert.IsTrue(max - 1.5 < Tolerance); Assert.IsTrue(min - 0.7 < Tolerance); Assert.IsTrue(Math.Abs(interval - 0.1) < Tolerance); }
public void TestScalinglineChartsMechanism1_SmallValues() { //Arrange var max = 0.00004556; var min = 0.000003; // Act var interval = ChartUtility.GetMinMaxForLineChart(ref min, ref max); //Assert Debug.Print("{0:#,##0.000000}", min); Debug.Print("{0:#,##0.000000}", max); Debug.Print("{0:#,##0.000000}", interval); Assert.IsTrue(max > 0 && max - 0.00005 < Tolerance); Assert.IsTrue(min - 0.00000 < Tolerance); Assert.IsTrue(Math.Abs(interval - 0.00001) < Tolerance); }
public void TestScalinglineChartsMechanism1_BigValues() { //Arrange var max = 196.46; var min = 101.96; // Act var interval = ChartUtility.GetMinMaxForLineChart(ref min, ref max); //Assert Debug.Print("{0:#,##0.000000}", min); Debug.Print("{0:#,##0.000000}", max); Debug.Print("{0:#,##0.000000}", interval); Assert.IsTrue(max > 0 && max - 200 < Tolerance); Assert.IsTrue(min > -0.00000001 && min - 100.0 < Tolerance); Assert.IsTrue(Math.Abs(interval - 10) < Tolerance); }
/// <summary> /// Get data for a sample pie chart /// </summary> /// <returns></returns> public static void PieChartSample(bool useDatabase, ChartData data) { var erg = data.DataSource; if (useDatabase) { var dt = TestHelper.GetDataTable("PieChart.xml"); ChartUtility.DataTableToPieChartItemData(dt, "1;2", data); } else { // shares var item = new PieChartItemData { XValue = "Aktien", YValue = 0.5 }; erg.Add(item); // fixed income item = new PieChartItemData { XValue = "Anleihen", YValue = 0.4 }; erg.Add(item); // liquidity item = new PieChartItemData { XValue = "Liquidität", YValue = 0.1 }; erg.Add(item); data.PropertiesToUseForChart.Add("XValue"); data.PropertiesToUseForChart.Add("YValue"); } }
public void TestStackedColumn100Chart() { // const string sql = "EXEC Vermoegen_Db.[dbo].SetFinDBUser 'bodoprivate' exec Vermoegen_Db.[dbo].[GetAnteilswerte] 120, 1"; const string fileName = @"d:\temp\ScottPlott_Db_StackedColumn100Chart.png"; if (File.Exists(fileName)) { File.Delete(fileName); } var data = new ChartData { Title = "Test portfolio", Copyright = "Testfirma", XLabelText = "Anlageklassen", YLabelText = "Anteilswert", FileName = fileName, ChartType = ChartType.StackedColumn100Chart, }; TestHelper.LoadDefaultChartStyle(data); var dt = TestHelper.GetDataTable("StackedColumnChart.xml"); ChartUtility.DataTableToChartItemData(dt, "", data); var x = new ChartHandler { ChartData = data }; x.Export(); TestHelper.StartFile(fileName); }
protected override void DrawChartWithRawSeriesInfo() { SeriesInfo si = null; ChartUtility chartUtil = new ChartUtility(); DataTable dtTemp = new DataTable(); ArrayList arrTemp = new ArrayList(); Type tempType = null; LinkedList lnkList = new LinkedList(); for (int i = 0; i < this.dtDataSource.Columns.Count; i++) { string seriesName = this.dtDataSource.Columns[i].ColumnName; string seriesNameTemp = this.dtDataSource.Columns[i].ColumnName.Split('^')[0]; if (seriesName == CommonChart.COLUMN_NAME_SEQ_INDEX) { tempType = this.dtDataSource.Rows[0][i].GetType(); } else if (lstRawColumn.Contains(seriesName)) { if (dtTemp.Columns.Contains(seriesNameTemp)) { continue; } else if (!lnkList.Contains(seriesNameTemp)) { dtTemp = new DataTable(); dtTemp.Columns.Add(CommonChart.COLUMN_NAME_SEQ_INDEX, tempType); for (int k = 0; k < this.dtDataSource.Rows.Count; k++) { if (this.dtDataSource.Rows[k][i] != null && this.dtDataSource.Rows[k][i].ToString().Length > 0) { dtTemp.Columns.Add(seriesNameTemp, this.dtDataSource.Rows[k][i].GetType()); break; } } lnkList.Add(seriesNameTemp, dtTemp.Clone()); arrTemp.Add(seriesNameTemp); } } } if (lnkList.Count > 0) { for (int i = 0; i < arrTemp.Count; i++) { DataRow dr = null; DataTable dt = new DataTable(); dt = ((DataTable)lnkList[arrTemp[i].ToString()]).Clone(); string sTempColumnName = dt.Columns[1].ColumnName; for (int j = 0; j < this.dtDataSource.Rows.Count; j++) { for (int k = 0; k < this.dtDataSource.Columns.Count; k++) { if (this.dtDataSource.Columns[k].ColumnName.Split('^')[0] == sTempColumnName) { if (this.dtDataSource.Rows[j][k] != null && this.dtDataSource.Rows[j][k].ToString().Length > 0) { dr = dt.NewRow(); dr[0] = dtDataSource.Rows[j][CommonChart.COLUMN_NAME_SEQ_INDEX];; dr[1] = dtDataSource.Rows[j][k]; dt.Rows.Add(dr); } } } } lnkList.Remove(arrTemp[i].ToString()); lnkList.Add(arrTemp[i].ToString(), dt); } for (int i = 0; i < arrTemp.Count; i++) { si = new SeriesInfo(typeof(Line), arrTemp[i].ToString(), ((DataTable)lnkList[arrTemp[i].ToString()]), CommonChart.COLUMN_NAME_SEQ_INDEX, arrTemp[i].ToString()); si.SeriesColor = chartUtil.GetSeriesColor(i); this.DrawChart(si); } } }
public static void ChartSample(bool useDatabase, ChartData data) { var erg = data.DataSource; if (useDatabase) { var dt = TestHelper.GetDataTable("LineChart.xml"); ChartUtility.DataTableToChartItemData(dt, "", data); } else { var date = DateTime.Now; // var item = new ChartItemData { XValue = date.AddMonths(-2).ToOADate(), YValue1 = 276137, YValue2 = 71735, YValue3 = 69805, IsDate = true, }; erg.Add(item); // item = new ChartItemData { XValue = date.AddMonths(-1).ToOADate(), YValue1 = 76137, YValue2 = 171735, YValue3 = 269805, IsDate = true, }; erg.Add(item); // item = new ChartItemData { XValue = date.ToOADate(), YValue1 = 276137, YValue2 = 71735, YValue3 = 69805, IsDate = true, }; erg.Add(item); data.PropertiesToUseForChart.Add("XValue"); data.PropertiesToUseForChart.Add("YValue1"); data.PropertiesToUseForChart.Add("YValue2"); data.PropertiesToUseForChart.Add("YValue3"); data.LabelsForSeries.Add("Aktien"); data.LabelsForSeries.Add("Renten"); data.LabelsForSeries.Add("Liquidität"); } data.ChartStyle.XAxisNumberformat = "dd.MM.yyyy"; }
protected override void DrawChartWithRawSeriesInfo() { SeriesInfo si = null; ChartUtility chartUtil = new ChartUtility(); DataTable dtTemp = new DataTable(); ArrayList arrTemp = new ArrayList(); Type tempType = null; LinkedList lnkList = new LinkedList(); if (this.dtDataSource.Rows.Count == 0) { return; } for (int i = 0; i < this.dtDataSource.Columns.Count; i++) { string seriesName = this.dtDataSource.Columns[i].ColumnName; string seriesNameTemp = this.dtDataSource.Columns[i].ColumnName.Split('^')[0]; if (seriesName == CommonChart.COLUMN_NAME_SEQ_INDEX) { tempType = this.dtDataSource.Rows[0][i].GetType(); } else if (lstRawColumn.Contains(seriesName)) { if (dtTemp.Columns.Contains(seriesNameTemp)) { continue; } else if (!lnkList.Contains(seriesNameTemp)) { dtTemp = new DataTable(); dtTemp.Columns.Add(CommonChart.COLUMN_NAME_SEQ_INDEX, tempType); for (int k = 0; k < this.dtDataSource.Rows.Count; k++) { if (this.dtDataSource.Rows[k][i] != null && this.dtDataSource.Rows[k][i].ToString().Length > 0) { dtTemp.Columns.Add(seriesNameTemp, this.dtDataSource.Rows[k][i].GetType()); break; } } lnkList.Add(seriesNameTemp, dtTemp.Clone()); arrTemp.Add(seriesNameTemp); } } } if (lnkList.Count > 0) { for (int i = 0; i < arrTemp.Count; i++) { DataRow dr = null; DataTable dt = new DataTable(); dt = ((DataTable)lnkList[arrTemp[i].ToString()]).Clone(); if (dt.Columns.Count > 1) { string sTempColumnName = dt.Columns[1].ColumnName; for (int j = 0; j < this.dtDataSource.Rows.Count; j++) { for (int k = 0; k < this.dtDataSource.Columns.Count; k++) { if (this.dtDataSource.Columns[k].ColumnName.Split('^')[0] == sTempColumnName) { if (this.dtDataSource.Rows[j][k] != null && this.dtDataSource.Rows[j][k].ToString().Length > 0) { dr = dt.NewRow(); dr[0] = dtDataSource.Rows[j][CommonChart.COLUMN_NAME_SEQ_INDEX];; dr[1] = dtDataSource.Rows[j][k]; dt.Rows.Add(dr); } } } } lnkList.Remove(arrTemp[i].ToString()); lnkList.Add(arrTemp[i].ToString(), dt); } } int jcolor = 0; for (int i = 0; i < arrTemp.Count; i++) { si = new SeriesInfo(typeof(Line), arrTemp[i].ToString(), ((DataTable)lnkList[arrTemp[i].ToString()]), CommonChart.COLUMN_NAME_SEQ_INDEX, arrTemp[i].ToString()); si.SeriesColor = chartUtil.GetSeriesColor(i); if (si.SeriesColor == Color.Red || si.SeriesColor == Color.Black) { jcolor++; si.SeriesColor = chartUtil.GetSeriesColor(jcolor); } this.DrawChart(si); jcolor++; } } //si = new SeriesInfo(typeof(Line), seriesName, this.dtDataSource, CommonChart.COLUMN_NAME_SEQ_INDEX, seriesName); //switch (seriesName) //{ // case Definition.CHART_COLUMN.UCL: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.UCL); break; // case Definition.CHART_COLUMN.LCL: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.LCL); break; // case Definition.CHART_COLUMN.LSL: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.LSL); break; // case Definition.CHART_COLUMN.USL: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.USL); break; // case Definition.CHART_COLUMN.MIN: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.MIN); break; // case Definition.CHART_COLUMN.MAX: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.MAX); break; // case Definition.CHART_COLUMN.TARGET: si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.TARGET); break; // default: // if ((seriesName == Definition.CHART_COLUMN.RAW) // || (seriesName == Definition.CHART_COLUMN.STDDEV) // || (seriesName == Definition.CHART_COLUMN.AVG) // || (seriesName == Definition.CHART_COLUMN.RANGE) // || (seriesName == Definition.CHART_COLUMN.MA) // || (seriesName == Definition.CHART_COLUMN.MSD) // || (seriesName == Definition.CHART_COLUMN.MEAN) // || (seriesName == Definition.CHART_COLUMN.EWMAMEAN) // || (seriesName == Definition.CHART_COLUMN.EWMARANGE) // || (seriesName == Definition.CHART_COLUMN.EWMASTDDEV)) // { // si.SeriesColor = chartUtil.GetSeriesColor((int)ChartUtility.CHAERT_SERIES_COLOR.AVG); // } // else // si.SeriesColor = chartUtil.GetSeriesColor(iCount++); // break; //} //this.DrawChart(si); //} }
//modified end SPC-851 //modified by enkim 2012.05.21 SPC-851 protected override void DrawChartWithRawSeriesInfoForSumChart() { SeriesInfo si = null; ChartUtility chartUtil = new ChartUtility(); DataTable dtTemp = new DataTable(); ArrayList arrTemp = new ArrayList(); Type tempType = null; LinkedList lnkList = new LinkedList(); if (this.dtDataSource.Rows.Count == 0) { return; } for (int i = 0; i < this.dtDataSource.Columns.Count; i++) { string seriesName = this.dtDataSource.Columns[i].ColumnName; string seriesNameTemp = this.dtDataSource.Columns[i].ColumnName.Split('^')[0]; if (seriesName == CommonChart.COLUMN_NAME_SEQ_INDEX) { tempType = this.dtDataSource.Rows[0][i].GetType(); } else if (lstRawColumn.Contains(seriesName)) { if (dtTemp.Columns.Contains(seriesNameTemp)) { continue; } else if (!lnkList.Contains(seriesNameTemp)) { dtTemp = new DataTable(); dtTemp.Columns.Add(CommonChart.COLUMN_NAME_SEQ_INDEX, tempType); if (!dtTemp.Columns.Contains("TIME")) { dtTemp.Columns.Add("TIME", typeof(DateTime)); } if (!dtTemp.Columns.Contains(Definition.CHART_COLUMN.TIME2)) { dtTemp.Columns.Add(Definition.CHART_COLUMN.TIME2, typeof(string)); } for (int k = 0; k < this.dtDataSource.Rows.Count; k++) { if (this.dtDataSource.Rows[k][i] != null && this.dtDataSource.Rows[k][i].ToString().Length > 0) { dtTemp.Columns.Add(seriesNameTemp, this.dtDataSource.Rows[k][i].GetType()); break; } } lnkList.Add(seriesNameTemp, dtTemp.Clone()); arrTemp.Add(seriesNameTemp); } } } if (lnkList.Count > 0) { for (int i = 0; i < arrTemp.Count; i++) { DataRow dr = null; DataTable dt = new DataTable(); dt = ((DataTable)lnkList[arrTemp[i].ToString()]).Clone(); if (dt.Columns.Count > 3) { string sTempColumnName = dt.Columns[3].ColumnName; for (int j = 0; j < this.dtDataSource.Rows.Count; j++) { for (int k = 0; k < this.dtDataSource.Columns.Count; k++) { if (this.dtDataSource.Columns[k].ColumnName.Split('^')[0] == sTempColumnName) { if (this.dtDataSource.Rows[j][k] != null && this.dtDataSource.Rows[j][k].ToString().Length > 0) { dr = dt.NewRow(); dr[0] = dtDataSource.Rows[j][CommonChart.COLUMN_NAME_SEQ_INDEX]; dr[1] = dtDataSource.Rows[j]["TIME"]; dr[2] = dtDataSource.Rows[j][Definition.CHART_COLUMN.TIME2]; dr[3] = dtDataSource.Rows[j][k]; dt.Rows.Add(dr); } } } } lnkList.Remove(arrTemp[i].ToString()); lnkList.Add(arrTemp[i].ToString(), dt); } } int jcolor = 0; for (int i = 0; i < arrTemp.Count; i++) { si = new SeriesInfo(typeof(ExtremeBFastLine), arrTemp[i].ToString(), ((DataTable)lnkList[arrTemp[i].ToString()]), CommonChart.COLUMN_NAME_SEQ_INDEX, arrTemp[i].ToString()); si.TreatNulls = TreatNullsStyle.DoNotPaint; si.SeriesColor = chartUtil.GetSeriesColor(jcolor); if (si.SeriesColor == Color.Red || si.SeriesColor == Color.Black) { jcolor++; si.SeriesColor = chartUtil.GetSeriesColor(jcolor); } this.DrawChart(si); jcolor++; } } }