Removing multi-row table when no content is available

I have a report that I am building, where one section of content (businesses) may not always have data (as in, no businesses in this report).
I thought at one point, that if you bound a empty data table (a table with no rows), it would remove the table for you. I also remember at one point (over a year ago) that this had changed.
So instead, I have a bookmark wrapped around the table, and then use that to find the table and remove it later.
Using code like this:

Bookmark tableBookmark = icrDoc.Range.Bookmarks["tblBusinesses"];
Node parentParagraph = tableBookmark.BookmarkStart.ParentNode;
if (parentParagraph.NextSibling.NodeType == NodeType.Table)

Will remove the table, but won’t remove the tablestart/tableend fields.
I did notice that BookMark start just has the TableStart, and if I .Remove() that, and then do a .Remove() on Bookmark End, is doesn’t ever remove them.
Attached is a doc as a template similar to what I am using, except there is content both above and below the table in the document.


Thanks for your request. I think in this case you can try using RemoveEmptyRegions class provided by Adam in this thread:
Please see the following code:

// Open the template document
Document doc = new Document(@"in.doc");
// Merge data
// Remove any remaining unused regions from the document
doc.Accept(new RemoveEmptyRegions());

Also we will consider adding an option like RemoveEmptyParagraphs, but for regions. Your request has been linked to the appropriate issue. You will be notified as soon as it is supported.
Best regards,

This worked, thank you. I was actually already using that RemoveEmptyRegions somewhere else for something else, and that just worked.

The issues you have found earlier (filed as 17666) have been fixed in this update.