Intro
Excerpt |
---|
This guide will explain how to import a single row of values into a PowerPoint presentation using data markers. This assumes a basic understanding of data markers. |
| ||||||
---|---|---|---|---|---|---|
|
Setting up the Template
The template file should contain data markers following proper data marker syntax. Each copy of a given data marker will be populated with the same value. If the data marker appears in a table row or list entry, nothing will be automatically repeated if only one row is imported.
Binding Data
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.
There are several ways to import a single row of data into a presentation:
- Use a single dimensional array
- Use a multi-dimensional data source AND
- the data source only has one row of data
DataBindingProperties.MaxRowsToImport
is set to 1
Single Dimensional Arrays
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.
Code Block | csharp | csharp | ||
---|---|---|---|---|
title | C# | |||
Wiki Markup | ||||
h2. Intro
{excerpt}This guide will explain how to import a single row of values into a PowerPoint presentation using data markers. This assumes a basic understanding of [data markers|How to use Data Markers].{excerpt}
|| {center} Jump to: {center} ||
| {toc:minLevel=2|maxLevel=3} |
h2. Setting up the Template
The template file should contain data markers following proper data marker syntax. Each copy of a given data marker will be populated with the same value. If the data marker appears in a table row or list entry, nothing will be automatically repeated if only one row is imported.
h2. Binding Data
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|Importing Multiple Rows of Data].
There are several ways to import a single row of data into a presentation:
# Use a single dimensional array
# Use a multi-dimensional data source AND
## the data source only has one row of data
## {{[DataBindingProperties.MaxRowsToImport]}} is set to 1
h2. Single Dimensional Arrays
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.
{code:csharp|title=C#}
PowerPointTemplate pptt = new PowerPointTemplate();
pptt.Open(@"C:\DataBinding\ArrayBindingTemplate.pptx");
string[] values = {"Hello World", "subtitle"};
string[] colNames = {"header", "subtitle"};
DataBindingProperties DataProps = pptt.CreateDataBindingProperties();
pptt.BindData(values, colNames, "DataSource1", DataProps);
pptt.Process();
pptt.Save(Page.Response,
"ArrayBinding.pptx",
false);
| ||||
Code Block | ||||
vbnet | vbnet | title | {code} {code:vbnet|title=vb.net | } Dim pptt As New PowerPointTemplate() pptt.Open("C:\DataBinding\ArrayBindingTemplate.pptx") Dim values = New String() {"Hello World", "subtitle"} Dim colNames = New String() {"header", "subtitle"} Dim DataProps As DataBindingProperites = pptt.CreateDataBindingProperties(); pptt.BindData(values, colNames, "DataSource1", DataProps); pptt.Process() pptt.Save(Page.Response, _ "ArrayBinding.pptx", _ False) {code} h2. Multi-dimensional data sources |
...
h3. Data source with one row of data |
...
If a multi-dimensional data source has only one row of data, the automatic repeating behavior will not occur. This is consistent for any of the multi-dimensional data sources supported by [BindData |
...
|PowerPointTemplate.BindData]: * Jagged and multi-dimensional arrays |
...
* Custom objects (IEnumerable<T>) |
...
* System.IDataReader and System.DataTable |
...
h3. Setting MaxRowsToImport to 1 |
...
MaxRowsToImport is a property on the [DataBindingProperties] object that can be used to limit the number of rows that are imported, regardless of how many rows are actually in the data source. |
...
Code Block | |
---|---|
csharp | csharp |
title | Setting the MaxRowsToImport Property | {code:csharp|title=Setting the MaxRowsToImport Property} DataBindingProperties dataProps = ppt.CreateDataBindingProperties(); dataProps.MaxRowsToImport = 1; ppt.BindData(getDataTable(), "DataSourceName", dataProps); {code} |