Wiki Markup |
---|
{description} {excerpt}Sets the specified repeat block's data source to an ADO.NET DataTable. {excerpt} {signature:C#} public void SetRepeatBlock(System.Data.DataTable dt, System.String bookmark, int maxRows) {signature} {signature:vb.net} Public Sub SetRepeatBlock(ByVal dt As System.Data.DataTable, ByVal bookmark As String, ByVal maxRows As Integer) {signature} {parameters} {param:dt}The DataTable to use as the data source. {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} {param:maxRows}Specifies the maximum number of repetitions to write to the file. If Next fields are enabled (see [EnableNEXTFields|WordTemplate.EnableNEXTFields]), then the number of rows imported from the data source is {{maxRows\*(numberOfNextFields\+1)}}. If Next fields are not enabled the number of rows imported is equal to the number of repetitions written out. To write the maximum rows available, use the constant [WordTemplate.ALL\_ROWS|WordTemplate.ALL_ROWS]. {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} {introducedin:8.4} {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 DataTable to {{SetRepeatBlock}} \- by either setting {{maxRows}} to 0 or passing an empty DataTable \- 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#} //--- A DataTable with the data to be repeated DataTable ds = GetDataTable(); WordTemplate oWW = new WordTemplate(); oWW.Open("c:\\template.doc"); //--- Set a data source for the repeat block //--- defined by the bookmark "Page" //--- "dt" is the DataTable containing the data to be //--- imported and repeated in the repeat block //--- Set MaxRows to 10. Only 10 rows from the DataTable //--- will be imported oWW.SetRepeatBlock(dt, "Page", 10); oWW.Process(); oWW.Save(Page.Response, "Output.doc", false); {code} {code:vb.net|title=vb.net} '--- A DataTable with the data to be repeated Dim ds As DataTable = GetDataTable() Dim oWW As New WordTemplate() oWW.Open("c:\template.doc") '--- Set a data source for the repeat block '--- defined by the bookmark "Page" '--- "dt" is the DataTable containing the data to be '--- imported and repeated in the repeat block '--- Set MaxRows to 10. Only 10 rows from the DataTable '--- will be imported oWW.SetRepeatBlock(dt, "Page", 10) oWW.Process() oWW.Save(Page.Response, "Output.doc", False) {code} {example} |
Page History
Overview
Content Tools