/// <summary> /// /// </summary> /// <param name="lc"></param> /// <param name="lccfg"></param> /// <param name="lineDataSource"></param> /// <param name="xAxisDataSource"></param> static public void Set(LineChart lc, LineChartConfig lccfg, object lineDataSource, object xAxisDataSource, string valueFormatString) { if (lc == null) { throw new ArgumentNullException("lc"); } if (lccfg == null) { throw new ArgumentNullException("lccfg"); } if (lineDataSource == null) { throw new ArgumentNullException("dataSource"); } lc.Series.Clear(); lc.Graphs.Clear(); foreach (LineGraphItemConfig itemConfig in lccfg.LineGraphItemConfigCollection) { am.Charts.LineChartGraph lcg = new LineChartGraph(); lcg.EnableViewState = false; lcg.Title = itemConfig.Title; lcg.Bullet = LineChartBulletTypes.Round; DataView dsTable = lineDataSource as DataView; foreach (DataRowView rowView in dsTable) { string seriesItemID = rowView.Row[lccfg.DataSeriesIDField].ToString(); object value = rowView.Row[itemConfig.DataValueField]; if (value == null || value == DBNull.Value) { continue; } value = Convert.ToDouble(value); string strValue = string.Format(valueFormatString, value); LineChartValuesDataItem item = new LineChartValuesDataItem(seriesItemID, strValue); lcg.Items.Add(item); } lc.Graphs.Add(lcg); } lc.YLeftValuesMin = lccfg.YLeftValueMin; lc.Connect = true; lc.DataSeriesIDField = lccfg.DataSeriesIDField; DataView view = xAxisDataSource as DataView; DataTable tbl = view.ToTable(true, lccfg.DataSeriesIDField); lc.DataSource = tbl; lc.DataBind(); }
/// <summary> /// /// </summary> /// <param name="lc"></param> /// <param name="lccfg"></param> /// <param name="lineDataSource"></param> /// <param name="xAxisDataSource"></param> public static void Set(LineChart lc, LineChartConfig lccfg, object lineDataSource, object xAxisDataSource, string valueFormatString) { if (lc == null) throw new ArgumentNullException("lc"); if (lccfg == null) throw new ArgumentNullException("lccfg"); if (lineDataSource == null) throw new ArgumentNullException("dataSource"); lc.Series.Clear(); lc.Graphs.Clear(); foreach ( LineGraphItemConfig itemConfig in lccfg.LineGraphItemConfigCollection ) { am.Charts.LineChartGraph lcg = new LineChartGraph(); lcg.EnableViewState = false; lcg.Title = itemConfig.Title; lcg.Bullet = LineChartBulletTypes.Round; DataView dsTable = lineDataSource as DataView; foreach (DataRowView rowView in dsTable) { string seriesItemID = rowView.Row[lccfg.DataSeriesIDField].ToString(); object value = rowView.Row[itemConfig.DataValueField]; if (value == null || value == DBNull.Value) continue; value = Convert.ToDouble(value); string strValue = string.Format(valueFormatString, value); LineChartValuesDataItem item = new LineChartValuesDataItem(seriesItemID, strValue); lcg.Items.Add(item); } lc.Graphs.Add(lcg); } lc.YLeftValuesMin = lccfg.YLeftValueMin; lc.Connect = true; lc.DataSeriesIDField = lccfg.DataSeriesIDField; DataView view = xAxisDataSource as DataView; DataTable tbl = view.ToTable(true, lccfg.DataSeriesIDField); lc.DataSource = tbl; lc.DataBind(); }
protected void Page_Load(object sender, EventArgs e) { #region Add event handlers //btnSetFix.Click += new EventHandler(btnSetFix_Click); dgStocksForCheck.ItemDataBound += new DataGridItemEventHandler(dgStocksForCheck_ItemDataBound); #endregion if (!smMain.IsInAsyncPostBack) { if (Request.QueryString.HasKeys() && Request.QueryString["ID"] != null) { int stockID; if (int.TryParse(Request.QueryString["ID"], out stockID)) { StockID = stockID; bool isInstDB = false; int maxRowCount = 100; DataTable dtInfo = Data.GetStocksWithBigPriceChange(UserID, StockID, isInstDB, maxRowCount); dgStocksForCheck.DataSource = dtInfo; DataTable dtStockInfo = Data.GetStockInfo(StockID); dgStockInfo.DataSource = dtStockInfo; if (dtInfo != null && dtInfo.Rows.Count > 0) { DataRow drInfo = dtInfo.Rows[0]; DataTable dtSymbols = Data.GetStockSymbols(StockID); if (dtSymbols != null && dtSymbols.Rows.Count > 0) { DataRow drSymbols = dtSymbols.Rows[0]; BigChartsSymbol = drSymbols["BigChartsSymbol"].ToString(); BloombergSymbol = drSymbols["BloombergSymbol"].ToString(); ReutersSymbol = drSymbols["ReutersSymbol"].ToString(); YahooSymbol = drSymbols["YahooSymbol"].ToString(); BusinessWeekSymbol = drSymbols["BusinessWeekSymbol"].ToString(); GoogleSymbol = drSymbols["GoogleSymbol"].ToString(); MsnSymbol = drSymbols["MsnSymbol"].ToString(); MarketocracySymbol = drSymbols["MarketocracySymbol"].ToString(); } CultureInfo culture = new CultureInfo("ru-RU"); DateTime dateFrom = Convert.ToDateTime(drInfo["DateFrom"], culture); DateTime dateTo = Convert.ToDateTime(drInfo["DateTo"], culture); /* * DataTable dtDividents = Data.GetStockDividents(StockID, dateFrom); * * if (dtDividents != null && dtDividents.Rows.Count > 0) * { * pDividents.Visible = true; * dgDividents.DataSource = dtDividents; * } * else * { * pDividents.Visible = false; * } */ DataTable dtPrices = Data.GetStockPrices(StockID, dateFrom.AddDays(-20), dateTo.AddDays(20)); if (dtPrices != null && dtPrices.Rows.Count > 0) // && lcStock.Graphs.Count == 0) { if (lcStock.Graphs.Count > 0) { lcStock.Graphs.RemoveAt(1); lcStock.Graphs.RemoveAt(0); } lcStock.DataSource = dtPrices.DefaultView; lcStock.DataSeriesIDField = "DateTxt"; //lcStock.DataSeriesValueField = "CloseAt"; //CloseAt prices LineChartGraph gCloseAt = new LineChartGraph(); gCloseAt.DataSource = dtPrices.DefaultView; gCloseAt.DataSeriesItemIDField = "DateTxt"; gCloseAt.DataValueField = "CloseAt"; gCloseAt.DataDescriptionField = "Dividend"; gCloseAt.DataBulletSizeField = "DividendBulletSize"; //gCloseAt.DataBulletColorField = "BulletColor"; //gCloseAt.DataBulletUrlField = "BulletUrl"; gCloseAt.Title = "CloseAt"; gCloseAt.Bullet = LineChartBulletTypes.Round; gCloseAt.BulletSize = 0; gCloseAt.BulletColor = System.Drawing.Color.Green; //OpenAt prices LineChartGraph gOpenAt = new LineChartGraph(); gOpenAt.DataSource = dtPrices.DefaultView; gOpenAt.DataSeriesItemIDField = "DateTxt"; gOpenAt.DataValueField = "OpenAt"; gOpenAt.Title = "OpenAt"; lcStock.Graphs.Add(gCloseAt); lcStock.Graphs.Add(gOpenAt); lcStock.DataBind(); } } } } DataBind(); } }