Implementing the Push Model
Reports can use either the Pull Model or the Push Model for retrieving data. The Pull Model links to a data source and retrieves the data automatically. The Push Model, discussed in the remainder of this chapter, is based upon generating reports from a manually populated data soThe data source can be a DataSet , DataTable, DataReader, DataView, XML or an object collection that implement the IEnumerable interface (e.g. an array or LINQ query). You have to create the data source, manually populate it with the appropriate data, and pass it to the report object for printing. You have complete control over the data and can optimize the data connections. Since there are so many ways to populate the data source, the Push Model gives you the flexibility to link to almost any type of data source as well as link to proprietary data sources. This isn’t always possible with the Pull Model.
The Push Model is more complicated than the Pull Model, and as a result there are more steps to learn. The steps are also different depending upon what type of data you want to pass to the report. To make this easier, I’m going to list the steps separately based on the type of data used to populate the report. You can find the section that applies to your current report and jump directly to it.