示例#1
0
        /// <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();
        }
示例#2
0
        /// <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();
        }
示例#3
0
    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();
        }
    }