// get a default list of financial items public static FinancialDataList GetFinancialData() { var list = new FinancialDataList(); var rnd = new Random(0); var asm = Assembly.GetExecutingAssembly(); foreach (string resName in asm.GetManifestResourceNames()) { if (resName.EndsWith("data.zip")) { var zip = new C1.C1Zip.C1ZipFile(asm.GetManifestResourceStream(resName)); using (var sr = new StreamReader(zip.Entries["StockSymbols.txt"].OpenReader())) { while (!sr.EndOfStream) { var sn = sr.ReadLine().Split('\t'); if (sn.Length > 1 && sn[0].Trim().Length > 0) { var data = new FinancialData(); data.Symbol = sn[0]; data.Name = sn[1]; data.Bid = rnd.Next(1, 1000); data.Ask = data.Bid + (decimal)rnd.NextDouble(); data.LastSale = data.Bid; data.BidSize = rnd.Next(10, 500); data.AskSize = rnd.Next(10, 500); data.LastSize = rnd.Next(10, 500); data.Volume = rnd.Next(10000, 20000); data.QuoteTime = DateTime.Now; data.TradeTime = DateTime.Now; list.Add(data); } } } list.AutoUpdate = true; return(list); } } throw new Exception("Can't find 'data.zip' embedded resource."); }
void PopulateFinancialGrid() { _financialData = FinancialData.GetFinancialData(); var view = new MyCollectionView(_financialData); _flexFinancial.ItemsSource = view; _flexFinancial.Columns.Frozen = 1; _flexFinancial.Columns[0].AllowDragging = false; // configure search box _srchCompanies.View = view; var props = _srchCompanies.FilterProperties; props.Add(typeof(FinancialData).GetProperty("Name")); props.Add(typeof(FinancialData).GetProperty("Symbol")); // show company info UpdateCompanyStatus(); view.CollectionChanged += financial_CollectionChanged; UpdateCellFactory(); }