Google Web Toolkit (Beta)
Search this site:

# Class FlexTable

public class FlexTable
extends HTMLTable
A flexible table that creates cells on demand. It can be jagged (that is, each row can contain a different number of cells) and individual cells can be set to span multiple rows or columns.

### Example

    public class FlexTableExample implements EntryPoint {

      public void onModuleLoad() {
        // Tables have no explicit size -- they resize automatically on demand.
        FlexTable t = new FlexTable();

        // Put some text at the table's extremes.  This forces the table to be
        // 3 by 3.
        t.setText(0, 0, "upper-left corner");
        t.setText(2, 2, "bottom-right corner");

        // Let's put a button in the middle...
        t.setWidget(1, 0, new Button("Wide Button"));

        // ...and set it's column span so that it takes up the whole row.
        t.getFlexCellFormatter().setColSpan(1, 0, 3);

        RootPanel.get().add(t);
      }
    }

## Nested Classes

FlexTable.FlexCellFormatter | FlexTable-specific implementation of CellFormatter.

## Constructors

FlexTable() |

## Methods

addCell(int) | Appends a cell to the specified row.
getCellCount(int) | Gets the number of cells on a given row.
getFlexCellFormatter() | Explicitly gets the FlexCellFormatter.
getRowCount() | Gets the number of rows.
insertCell(int, int) | Inserts a cell into the FlexTable.
insertRow(int) | Inserts a row into the FlexTable.
prepareCell(int, int) | Ensure that the cell exists.
prepareRow(int) | Ensure that the row exists.
removeCell(int, int) |
removeCells(int, int, int) | Removes a number of cells from a row in the table.
removeRow(int) | Removes the specified row from the table.

## Constructor Detail

### FlexTable

public FlexTable()

## Method Detail

### addCell

public void addCell(int row)
Appends a cell to the specified row.

#### Parameters

row
  the row to which the new cell will be added

### getCellCount

public int getCellCount(int row)
Gets the number of cells on a given row.

#### Parameters

row
  the row whose cells are to be counted

#### Return Value

the number of cells present

### getFlexCellFormatter

public FlexTable.FlexCellFormatter getFlexCellFormatter()
Explicitly gets the FlexCellFormatter. The results of HTMLTable.getCellFormatter() may also be downcast to a FlexCellFormatter.

#### Return Value

the FlexTable's cell formatter

### getRowCount

public int getRowCount()
Gets the number of rows.

#### Return Value

number of rows

### insertCell

public void insertCell(int beforeRow, int beforeColumn)
Inserts a cell into the FlexTable.

#### Parameters

beforeRow
  the cell's row
beforeColumn
  the cell's column

### insertRow

public int insertRow(int beforeRow)
Inserts a row into the FlexTable.

#### Parameters

beforeRow
  the row to insert

### prepareCell

protected void prepareCell(int row, int column)
Ensure that the cell exists.

#### Parameters

row
  the row to prepare.
column
  the column to prepare.

### prepareRow

protected void prepareRow(int row)
Ensure that the row exists.

#### Parameters

row
  The row to prepare.

### removeCell

public void removeCell(int row, int col)

#### Parameters

row
col

#### See Also

HTMLTable.removeCell(int, int)

### removeCells

public void removeCells(int row, int column, int num)
Removes a number of cells from a row in the table.

#### Parameters

row
  the row of the cells to be removed
column
  the column of the first cell to be removed
num
  the number of cells to be removed

### removeRow

protected void removeRow(int row)
Removes the specified row from the table.

#### Parameters

row
  the index of the row to be removed