Table of Contents |
---|
Intro
This part focuses on taking advantage of PowerPointWriter's repeat slide behavior.
Adding to the Template
Importing Multiple Rows
We are going to start with the template file as it was at the end of Part 1.
- Add a new content slide with the title 'Team Members'. This slide will contain data from the 'Team' data source about the proposed team members for the new project.
In Part 1, our data source only contained a single row of data. However, the 'Team' data source contains multiple rows of data that we wish to import into the presentation. In order for multiple rows of data to be imported using a data marker, the data marker must be placed in a list entry or table row. The list or table will expand dynamically to hold all of the imported rows.
For more information see Importing Multiple Rows of Data
- On the 'Team Members' slide, add a new table with 2 rows and 4 columns by going to Insert > Table and choosing the appropriate size. The table will automatically be formatted based on the theme of your presentation.
- In the first row of the table, add the headers 'Name', 'Role', 'Joined', and 'Previous Experience'.
- In the second row, add the following data markers under their corresponding headers:
- %%=Team.Name
- %%=Team.Role
- %%=Team.YearJoined
- %%=Team.Experience
- To finish this slide, add the data marker %%=Proposal.ReviewStatus somewhere at the bottom of the slide. Your completed slide should look like the following:
Fitting Data on to Multiple Slides
Our next slide will contain a list of estimated costs for the project.
- Create a new slide and give it the title 'Expected Costs'.
- Add %%=Proposal.ReviewStatus to the bottom of the slide.
- Add a table to this new slide with 2 rows and 3 columns. This table will contain data from the 'Cost' data source.
- In the first row of the table, label the table columns 'Type', 'Item', and 'Amount'.
- In the second row, add the following data markers under their corresponding headers:
- %%=Cost.Type
- %%=Cost.Item
- %%=Cost.Amt.
The 'Cost' data source contains more data than can fit on to a single slide. In order to ensure that data does not fall off of a slide, the Data Binding Property MaxRowsPerSlide can be set. When importing data, PowerPointWriter will stop importing data onto a slide when it reaches the MaxRowsPerSlide limit.
Additionally, we want to be sure that all the data from the 'Cost' data source is imported into our presentation. To do this the RepeatSlide marker can be used in conjunction with the MaxRowsPerSlide property.
When placed as the first item in the notes section of the slide, the RepeatSlide marker will copy that slide in place and continue importing data on to the new slide. This behavior will continue until the end of the data source or the MaxRowsToImport limit is reached.
For more information see Fitting Data on to Multiple Slides.
6. To use the RepeatSlide marker, add the text '%%RepeatSlide' as the first string of text in the notes section of the 'Expected Costs' slide. Make sure there is a space between %%RepeatSlide and the next item of text. The completed slide should look like the one below. Note the RepeatSlide marker in the notes section of the slide.
Writing the Code
We will reuse the code from Part 1 of this tutorial. We will take out the Process and Save calls and add our new code for Part 2.
1. Get the data for the Team and Cost data sets.
These calls are to a helper method GetCSVData
that parses the CSV files and returns a DataTable
with the values.
If you are following in your own project and would like to parse the CSV files as well, you will need to:
- Add a reference to
GenericParsing.dll
- Include
GeneringParsing
at the top of your code. - Add the
GetCSVData
method that can be found in the sample code.
2. Set the MaxRowsPerSlide property to be 10.
3. Bind the Team and Cost data sets to the template
4. Process the data
6. Use the Slides.Delete method to delete the last slide. It takes an integer representing the index of the slide to delete as a parameter.
7.Save the final presentation and stream it in the response.
Final Code
Downloads
You can download the code for the Basic PowerPointWriter Tutorials as a Visual Studio solution, which includes the Project Proposal.
Next Steps
Continue on to Part 3 - Passing to PowerPointApplication