Wiki Markup |
---|
{description} {excerpt}Sets the specified repeat block's data source to a 1\-dimensional array of objects. {excerpt} {signature:C#} public void SetRepeatBlock(System.Object[] dataRow, System.String[] fieldNames, System.String bookmark) {signature} {signature:vb.net} Public Sub SetRepeatBlock(ByVal dataRow As Object(), ByVal fieldNames As String(), ByVal bookmark As String) {signature} {parameters} {param:data}An object array of values to use as a data source. WordWriter will insert these values in the repeat block's merge fields. Objects in the array must not be arrays themselves. Objects in the array can be null. Each object in the data source array must have a corresponding field name in the array of field names. {param} {param:fieldNames}A string array of data source field names. These must be the same as the corresponding merge field names in the template. The array of data source values and the array of field names must contain the same number of elements. {param} {param:bookmark}The bookmark name of the template repeat block. The bookmark passed to {{SetRepeatBlock}} must exist in the template Word file. To see a list of template bookmark names: # Open the template in Microsoft Word. # Open the *Edit* menu. # Select *Go To...* # Select *Bookmark*. # Under *Enter bookmark name*, open the drop\-down list of bookmark names. {param} {exceptions} {exception:ArgumentNullException}{{SetRepeatBlock}} will throw this exception if {{null}} \(C\#\) or {{Nothing}} \(VB.NET\) is passed to the method. {exception} {exception:ArgumentException} {exception} {exception:SAException}{{SetRepeatBlock}} will throw this exception if the {{bookmark}} has been set to be [removed|WordTemplate.BookmarksToRemove].{exception} {remarks} A repeat block is a fragment in the template document that will be repeated for each row in a data source. In the template document, repeat blocks are defined by Word bookmarks that contain merge fields. You can call [SetRepeatBlock|WordTemplate.SetRepeatBlock] several times for a single instance of [WordTemplate]. The repeat block specified by the parameter {{bookmark}} must exist in the template. If you pass an empty data source to {{SetRepeatBlock}} WordWriter will not include the specified repeat block in the generated Word file. Not all Word features can be included in a repeat block: {web-only:To see a full chart of limitations, go to our online documentation:} || Supported in Repeat Blocks || Not Supported in Repeat Blocks || | * Character Formatting (everywhere) * Paragraph Formatting (Alignment, Outlines, Indent, Spacing, Page Break before, Keep Together) * Multiple Columns (2, 3, Column Breaks) * Borders and Shading * Tabs * Bullets * Numbering (numbering not reset, it is continued from one repeat block to another) * Page Breaks * Section Breaks * Auto Text Field * Hyperlink * Pictures * Table Row Repeat (entire row only) * Fields (with some restrictions) | * Nested repeat blocks (Only one data source may be assigned to a single repeat block.) * Overlapping bookmarks * Comments * Drawing Objects * Text Boxes * Footnote and endnote references * Table and picture indexes * Single cell in a table * Smart tags (smart tags will be removed from the document) * Repeat blocks in headers, footers, footnotes, comments, text boxes, etc. | {web-only} {remarks} {example}{code:csharp|title=C#} string[] NamesArr = {"CompanyName", "ProductName", "URL"}; object[] ValuesArr = {"SoftArtisans", "WordWriter", "http://www.softartisans.com"}; WordTemplate WordTempl = new WordTemplate(); WordTempl.Open(Page.MapPath("./BasicTemplate.doc")); //--- Set the data source of the repeat block "ProductInfo" //--- by passing the value array and the name array initialized above. WordTempl.SetRepeatBlock(ValuesArr, NamesArr, "ProductInfo"); WordTempl.Process(); WordTempl.Save(Page.Response, "BasicGenerated.doc", false); {code} {code:vb.net|title=vb.net} Dim NamesArr As String() = {"CompanyName", "ProductName", "URL"} Dim ValuesArr As Object() = {"SoftArtisans", "WordWriter", _ "http://www.softartisans.com"} Dim WordTempl As new WordTemplate() WordTempl.Open(Page.MapPath("./BasicTemplate.doc")) '--- Set the data source of the repeat block "ProductInfo" '--- by passing the value array and the name array initialized above. WordTempl.SetRepeatBlock(ValuesArr, NamesArr, "ProductInfo") WordTempl.Process() WordTempl.Save(Page.Response, "BasicGenerated.doc", False) {code} {example} |
Page History
Overview
Content Tools