Using an Array as a Data Source
|
 |
The following VB.NET and C# samples generate a Word file from the template
ArrayVarsTemplate.doc (included in WordWriter\doc-samples\samples\basic\ArrayVars).
ArrayVarsTemplate.doc contains the merge fields
ProductName, CompanyName, and URL. The WordWriter
script gets the values for these fields from an array of objects.
VB.NET Example
|
C# Example
|
To set a template's data source to an array, first
create an object array of field values and a string array
of field names:
'--- Create an object array of field values.
Dim arrValue As Object() = {"SoftArtisans",_
"WordWriter",_
"http://www.softartisans.com"}
'--- Create a string array of field names.
Dim arrName As String() = {"CompanyName",_
"ProductName",_
"URL"}
|
 |
Each merge field in the template will bind to a field name/field value pair.
When creating field name and field value arrays to use as a data source,
remember:
- The two arrays must contain the same number of elements.
- Each name in the array of field names must be the same as the
corresponding merge field name in the template.
- The number of unique merge fields in the template may not exceed
the number of values in the data source. The data source must
provide a value for each merge field in the template.
- The number of values in the data source may be greater than the number merge
fields in the template.
You can call the SetDataSource
method before or after opening the template (that is, before or after calling
Open). When you call
SetDataSource, pass the two arrays you created to the method as
parameters:
oWW.SetDataSource(arrValue, arrName)
The Process method enters the array values in the template's
merge fields:
oWW.Process()
The Save either saves the new Word file on the server, or streams
it to the browser. In this example, WordWriter
streams the generated file to the client:
oWW.Save(Page.Response, "ArrayVarsOutput.doc", False)
On the client, a File Download dialog will ask the user to open or save the
Word file. Since the Save method's third parameter - OpenInBrowser -
is set to False, if the user chooses to open the file, it will open in Microsoft
Word.
Copyright © 2003, SoftArtisans, Inc.