# How to: Manipulate a Table's Row Groups through the RowGroups Property

This example demonstrates some of the more common operations that can be performed on a table's row groups through the RowGroups property.

## Example

The following example creates a new table and then uses the Add method to add columns to the table's RowGroups collection.

Table tbl = new Table();
for (int x = 0; x < rowGroupsToAdd; x++)

Dim tbl As New Table()
Dim rowGroupsToAdd As Integer = 4
For x As Integer = 0 To rowGroupsToAdd - 1
Next x


## Example

The following example inserts a new TableRowGroup. The new column is inserted at index position 0, making it the new first row group in the table.

Note

The TableRowGroupCollection collection uses standard zero-based indexing.

tbl.RowGroups.Insert(0, new TableRowGroup());

tbl.RowGroups.Insert(0, New TableRowGroup())


## Example

The following example adds several rows to a particular TableRowGroup (specified by index) in the table.

int rowsToAdd = 10;
for (int x = 0; x < rowsToAdd; x++)

Dim rowsToAdd As Integer = 10
For x As Integer = 0 To rowsToAdd - 1
Next x


## Example

The following example accesses some arbitrary properties on rows in the first row group in the table.

// Alias the working TableRowGroup for ease in referencing.
TableRowGroup trg = tbl.RowGroups[0];
trg.Rows[0].Background = Brushes.CornflowerBlue;
trg.Rows[1].FontSize = 24;
trg.Rows[2].ToolTip = "This row's tooltip";

' Alias the working TableRowGroup for ease in referencing.
Dim trg As TableRowGroup = tbl.RowGroups(0)
trg.Rows(0).Background = Brushes.CornflowerBlue
trg.Rows(1).FontSize = 24
trg.Rows(2).ToolTip = "This row's tooltip"


## Example

The following example adds several cells to a particular TableRow (specified by index) in the table.

int cellsToAdd = 10;
for (int x = 0; x < cellsToAdd; x++)
tbl.RowGroups[0].Rows[0].Cells.Add(new TableCell(new Paragraph(new Run("Cell " + (x + 1)))));

Dim cellsToAdd As Integer = 10
For x As Integer = 0 To cellsToAdd - 1
tbl.RowGroups(0).Rows(0).Cells.Add(New TableCell(New Paragraph(New Run("Cell " & (x + 1)))))
Next x


## Example

The following example access some arbitrary methods and properties on cells in the first row in the first row group.

// Alias the working for for ease in referencing.
TableRow row = tbl.RowGroups[0].Rows[0];
row.Cells[0].Background = Brushes.PapayaWhip;
row.Cells[1].FontStyle = FontStyles.Italic;
// This call clears all of the content from this cell.
row.Cells[2].Blocks.Clear();

' Alias the working for for ease in referencing.
Dim row As TableRow = tbl.RowGroups(0).Rows(0)
row.Cells(0).Background = Brushes.PapayaWhip
row.Cells(1).FontStyle = FontStyles.Italic
' This call clears all of the content from this cell.
row.Cells(2).Blocks.Clear()


## Example

The following example returns the number of TableRowGroup elements hosted by the table.

int rowGroups = tbl.RowGroups.Count;

Dim rowGroups As Integer = tbl.RowGroups.Count


## Example

The following example removes a particular row group by reference.

tbl.RowGroups.Remove(tbl.RowGroups[0]);

tbl.RowGroups.Remove(tbl.RowGroups(0))


## Example

The following example removes a particular row group by index.

tbl.RowGroups.RemoveAt(0);

tbl.RowGroups.RemoveAt(0)


## Example

The following example removes all row groups from the table's row groups collection.

tbl.RowGroups.Clear();

tbl.RowGroups.Clear()