Intro
Excerpt |
---|
This guide will explain how to import a multiple rows of values into a PowerPoint presentation using data markers. This assumes a basic understanding of data markers. |
...
Jump to:
Table of Contents | ||||
---|---|---|---|---|
|
...
In order to import multiple rows of data into a presentation, two conditions must be met:
1. The data source must contain multiple rows of data
2. The template must be designed to repeat a list entry, a table row, or an entire slide If both of these conditions are not met, then PowerPointWriter's automatic repeating behavior will not occur.
Data Sources
PowerPointTemplate has a single method for binding data to the data markers that are located in the template: PowerPointTemplate.BindData. Depending on the data source type and the number of rows in the data source, PowerPointWriter will either import a single row of data or import multiple rows by repeating sections of the presentation.
By default, every appearance of a data marker will be populated with the same data. For example, if %%=Header.CompanyLogo(image) appears on multiple slides, each data marker will be populated with the company logo. This behavior can be overwritten using data binding properties.
In order for repeat behavior to work properly, the data marker must be placed in a list entry or table row. The list or table will be expanded to contain all of the imported data.
See Fitting Data on to Multiple Slides for options to import data sets that are too large to fit on a single slide.
DataBindingProperties
Data binding properties can be used to specify the way data is imported into the presentation.
If the data source only has 1 row or the maximum number of rows to import has been set to 1, then PowerPointWriter will not repeat any part of the presentation.
Repeating a list entry or table row
Template Setup
If a data marker is in a list entry (i.e. bullet point) or table cell, the list entry/table row will be copied for each row of data imported into the presentation.
Data Marker | Output | |
---|---|---|
List entry | ||
Table Row |
Code
Although no additional code beyond calling BindData
is needed, PowerPointWriter will continue to repeat until all of the data in the data source has been imported. There are several ways to prevent data from flowing over the side of your presentation. See Fitting Data on to Multiple Slides for more information.
Repeating an entire slide
Template Setup
When repeating over an entire slide, the data markers do not need to be located in a list entry or table row.
In the notes section of the slide, add %%RepeatSlide. This is the repeat slide marker and it tells PowerPointWriter that you want to repeat the slide after reaching the maximum number of rows for this particular slide.
There can be additional text in the notes section, but %%RepeatSlide must be the first string of characters and must be followed immediately by a space. The marker and white space will be removed in the output file.
Code
To set the max number of rows to import onto each slide copy of the presentation use MaxRowsPerSlide. MaxRowsPerSlide will continue to import more rows of data as long as it can find a data marker with the 'continue' modifier. For more information see Fitting Data on to Multiple Slides
Types of Data Sources
Arrays of objects
Methods:
[PowerPointTemplate.BindData(Object[],String[],String,DataBindingProperties)]
[PowerPointTemplate.BindData(Object[][],String[],String,DataBindingProperties)]
[PowerPointTemplate.BindData(Object
,
,String[],String,DataBindingProperties)]
Arrays don't have built-in means to store column names. The user must specify the column names in a string array that is passed to PowerPointTemplate.BindData
at run time.
PowerPointWriter will import all the rows in a multidimensional array (Object[,]
) or a jagged array using built-in repeating behavior.
Example |
---|
TO DO – Create code sample |
Custom objects
TO FILL IN AFTER THE MULTIPLE ROWS WITH NOTE ABOUT "ONLY 1 ROW OF DATA"
Data Readers and Data Tables
TO FILL IN AFTER THE MULTIPLE ROWS WITH NOTE ABOUT "ONLY 1 ROW OF DATA"slide, set MaxRowsPerSlide to 1. This will force PowerPointWriter to make a copy of the slide after repeating each row of data. It will continue to make new copies of the slide until all of the data is used.
Code Block | ||
---|---|---|
| ||
DataBindingProperties dataProps = ppt.CreateDatabindingProperties();
dataProps.MaxRowsPerSlide = 1;
ppt.BindData(getMailMergeData(), "DataSourceName", dataProps); |