Sets the specified repeat block's data source to a jagged array (array-of-arrays) of objects.

 public void SetRepeatBlock(System.Object[][] jaggedArray, System.String[] columnNames, System.String bookmark, int maxRows, boolean transpose)
Public Sub SetRepeatBlock(ByVal jaggedArray As Object()(), ByVal columnNames As String(), ByVal bookmark As String, ByVal maxRows As Integer, ByVal transpose As Boolean)

An jagged array of objects to use as a data source. the first dimension corresponds to row and the second to column (that is, Object[row][column]). WordWriter will insert these values in the repeat block's merge fields.

A string array of data source field names. These must be the same as the corresponding merge field names in the template.

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:

  1. Open the template in Microsoft Word.
  2. Open the Edit menu.
  3. Select Go To...
  4. Select Bookmark.
  5. Under Enter bookmark name, open the drop-down list of bookmark names.

Specifies the maximum number of repetitions to write to the file. If Next fields are enabled (see 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.

If transpose is set to true, the array is treated as Object[column][row]. If transpose is set to false, the array is treated as Object[row][column].

SetRepeatBlock will throw this exception if null (C#) or Nothing (VB.NET) is passed to the method.

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 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.


          //--- A 2-D jagged array of values
          //--- This is a "transposed" array with columns in the first
          //--- dimension and rows in the second
          string[][] ValuesArr = new string[][] {
               new string[] {"Boston", "Miami", "Merchantville"},
               new string[] {"MA", "FL", "NJ"}
               };

          //--- Names array, elements correspond to merge field names
          string[] NamesArr = {"City", "State"};
          WordTemplate wt = new WordTemplate();
          wt.Open("template.doc");

          //--- Set the repeat block defined by the bookmark "Block"
          //--- The data source is the 2-D rectangular ValuesArr array
          //--- MaxRows is set to ALL_ROWS, which allows all rows to be imported
          //--- Transpose is true to handle the transposed array
          wt.SetRepeatBlock(ValuesArr, NamesArr, "Block",
               WordTemplate.ALL_ROWS, true);
          wt.Process();
          wt.Save("out.doc");
        

          '--- A 2-D jagged array of values
          '--- This is a "transposed" array with columns in the first
          '--- dimension and rows in the second
          Dim ValuesArr()() As String = { _
               New String() {"Boston", "Miami", "Merchantville"}, _
               New String(){"MA", "FL", "NJ"} _
               }

          '--- Names array, elements correspond to merge field names
          Dim NamesArr As String() = {"City", "State"}
          Dim wt As New WordTemplate()
          wt.Open("template.doc")

          '--- Set the repeat block defined by the bookmark "Block"
          '--- The data source is the 2-D rectangular ValuesArr array
          '--- MaxRows is set to ALL_ROWS, which allows all rows to be imported
          '--- Transpose is true to handle the transposed array
          wt.SetRepeatBlock(ValuesArr, NamesArr, "Block", _
               WordTemplate.ALL_ROWS, True)
          wt.Process()
          wt.Save("out.doc")