using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; namespace ASPNetCustomStockQuotes.STEIStockQuotes { /// /// Summary description for StockQuoteGridView /// public class StockQuoteGridView : WebPart { private GridView gvStockQuotes = null; YahooQuotes.YahooStockQuotes yahooStockQuoteQuery = null; DataSet yahooStockQuoteDataSet = null; protected override void CreateChildControls() { BoundField gridColumn; //clear the controls collection Controls.Clear(); //create and configure GridView control gvStockQuotes = new GridView(); gvStockQuotes.AutoGenerateColumns = false; gvStockQuotes.CssClass = "listing"; gvStockQuotes.EmptyDataText = "Cannot obtain stock quotes at this time. Please try again later."; gvStockQuotes.HeaderStyle.HorizontalAlign = HorizontalAlign.Center; //create columns gridColumn = new BoundField(); gridColumn.DataField = "Symbol"; gridColumn.HeaderText = "Symbol"; gridColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Left; gvStockQuotes.Columns.Add(gridColumn); gridColumn = new BoundField(); gridColumn.DataField = "Last_Traded_Price"; gridColumn.HeaderText = "Last Traded Price"; gridColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Right; gvStockQuotes.Columns.Add(gridColumn); gridColumn = new BoundField(); gridColumn.DataField = "Last_Traded_Date"; gridColumn.HeaderText = "Last Traded Date"; gridColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Center; gvStockQuotes.Columns.Add(gridColumn); gridColumn = new BoundField(); gridColumn.DataField = "Last_Traded_Time"; gridColumn.HeaderText = "Last Traded Time"; gridColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Center; gvStockQuotes.Columns.Add(gridColumn); gridColumn = new BoundField(); gridColumn.DataField = "Change"; gridColumn.HeaderText = "Change"; gridColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Right; gvStockQuotes.Columns.Add(gridColumn); //add GridView control to custom web part controls this.Controls.Add(gvStockQuotes); //create instances of custom Yahoo! query web service and DataSet control yahooStockQuoteQuery = new YahooQuotes.YahooStockQuotes(); yahooStockQuoteDataSet = new DataSet(); //attempt to query Yahoo! for stock quote data, load it into DataSet control, and bind to GridView control; try { yahooStockQuoteDataSet = yahooStockQuoteQuery.GetStockQuotes(); gvStockQuotes.DataSource = yahooStockQuoteDataSet; gvStockQuotes.DataBind(); } catch (Exception yqExc) { gvStockQuotes.EmptyDataText = yqExc.Message.ToString(); } } } }