Add Table to FlowDocument In Code Behind

urema picture urema · May 12, 2010 · Viewed 8.5k times · Source

I have tried this.....

_doc = new FlowDocument();

Table t = new Table();
for (int i = 0; i < 7; i++)
{
    t.Columns.Add(new TableColumn());
}

TableRow row = new TableRow();
row.Background = Brushes.Silver;
row.FontSize = 40;
row.FontWeight = FontWeights.Bold;

row.Cells.Add(new TableCell(new Paragraph(new Run("I span 7 columns"))));
row.Cells[0].ColumnSpan = 6;

_doc2.Blocks.Add(t);

When I go to view this document the table never shows.....although the border image and document title that I add to this document before adding this table outputs fine.

Answer

Henk Holterman picture Henk Holterman · May 12, 2010

You add the Columns to the Table, but where is the code that adds the row? It just isn't connected.

Add something like:

...
var rg = new TableRowGroup();
rg.Rows.Add(row);
t.RowGroups.Add(rg);
_doc2.Blocks.Add(t);