Weste Posted August 3, 2007 Posted August 3, 2007 Here is what I am trying to do. I am using ASP.NET 2.0. I have created a data set called Stocks data table called Data and put it in the App_Code folder. I am filling the data table from data in a csv file located on the web. I am populating the data table with the following code. This code works because I checked the record count and it shows 21 records for the Data data table. public static DataSet Convert() { WebClient Client = new WebClient(); Stream myStream = Client.OpenRead("http://mysite.com/table.csv"); StreamReader myStreamReader = new StreamReader(myStream); Stocks myStocks = new Stocks(); string line = myStreamReader.ReadLine(); string allData = myStreamReader.ReadToEnd(); string[] rows = allData.Split("\r\n".ToCharArray()); foreach (string r in rows) { string[] items = r.Split(",".ToCharArray()); myStocks.Tables["Data"].Rows.Add(items); } return myStocks; } I am trying to bind the data in this table to a report. I added a report to my project and selected the fields from the data table. I then added a ReportViewer control to the web form. I�m not sure how to configure the ObjectDataSource that is added to the web form after the ReportViewer control is added. It firsts asks to select business object. I have the following options. I�m not sure what to select. Stocks Stocks + DataTable Stocks + DataRow Stocks + DataRowChangeEvent Stocks + DataRowChangeEventHandler Next I need to define a data method. Not sure what option to select. I just want to bind the report to the data table and return the rows. Any help would be appreciated. Thanks. Weste Quote
shaul_ahuva Posted August 8, 2007 Posted August 8, 2007 You pretty much have it, but instead of using an ObjectDataSource you can just add a data source to the report at runtime: ReportDataSource ds = new ReportDataSource(); ds.Value = Convert().Data; ReportViewer1.LocalReport.DataSources.Add(ds); Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.