Sets the specified repeat block's data source to an ADO.NET DataSet.

 public void SetRepeatBlock(System.Data.DataSet ds, System.String bookmark, int maxRows)
Public Sub SetRepeatBlock(ByVal ds As System.Data.DataSet, ByVal bookmark As String, ByVal maxRows As Integer)

The DataSet to use as the data source.

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.

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 DataSet to SetRepeatBlock - by either setting maxRows to 0 or passing an empty DataSet - WordWriter will not include the specified repeat block in the generated Word file.


          //--- A dataset with the data to be repeated
          DataSet ds = GetDataSet();
          WordTemplate oWW = new WordTemplate();
          oWW.Open("c:\\template.doc");

          //--- Set a data source for the repeat block
          //--- defined by the bookmark "Page"
          //--- "ds" is the DataSet containing the data to be
          //--- imported and repeated in the repeat block
          //--- The first DataTable in the DataSet will be used
          //--- Set MaxRows to 10.  No matter how many DataRows
          //--- are in the DataSet, only 10 will be imported
          oWW.SetRepeatBlock(ds, "Page", 10);
          oWW.Process();
          oWW.Save(Page.Response, "Output.doc", false);
        

          '--- A dataset with the data to be repeated
          Dim ds As DataSet = GetDataSet()
          Dim oWW As New WordTemplate()
          oWW.Open("c:\template.doc")

          '--- Set a data source for the repeat block
          '--- defined by the bookmark "Page"
          '--- "ds" is the DataSet containing the data to be
          '--- imported and repeated in the repeat block
          '--- The first DataTable in the DataSet will be used
          '--- Set MaxRows to 10.  No matter how many DataRows
          '--- are in the DataSet, only 10 will be imported
          oWW.SetRepeatBlock(ds, "Page", 10)
          oWW.Process()
          oWW.Save(Page.Response, "Output.doc", False)