public class Grid extends HTMLTable
Widget
within its cells. It must be
resized explicitly to the desired number of rows and columns.
public class GridExample implements EntryPoint { public void onModuleLoad() { // Grids must be sized explicitly, though they can be resized later. Grid g = new Grid(5, 5); // Put some values in the grid cells. for (int row = 0; row < 5; ++row) { for (int col = 0; col < 5; ++col) g.setText(row, col, "" + row + ", " + col); } // Just for good measure, let's put a button in the center. g.setWidget(2, 2, new Button("Does nothing, but could")); // You can use the CellFormatter to affect the layout of the grid's cells. g.getCellFormatter().setWidth(0, 2, "256px"); RootPanel.get().add(g); } }
Grid widget consists of <g:row> elements. Each <g:row> element
can contain one or more <g:cell> or <g:customCell> elements.
Using <g:cell> attribute it is possible to place pure HTML content.
<g:customCell> is used as a container for
Widget
type objects. (Note that the
tags of the row, cell and customCell elements are not capitalized. This
is meant to signal that the item is not a runtime object, and so cannot
have a ui:field
attribute.)
For example:
<g:Grid> <g:row styleName="optionalHeaderStyle"> <g:customCell styleName="optionalFooCellStyle"> <g:Label>foo</g:Label> </g:customCell> <g:customCell styleName="optionalBarCellStyle"> <g:Label>bar</g:Label> </g:customCell> </g:row> <g:row> <g:cell> <div>foo</div> </g:cell> <g:cell> <div>bar</div> </g:cell> </g:row> </g:Grid>
HTMLTable.Cell, HTMLTable.CellFormatter, HTMLTable.ColumnFormatter, HTMLTable.RowFormatter
UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled
HasWidgets.ForIsWidget
Modifier and Type | Field and Description |
---|---|
protected int |
numColumns
Number of columns in the current grid.
|
protected int |
numRows
Number of rows in the current grid.
|
eventsToSink
DEBUG_ID_PREFIX, MISSING_ELEMENT_ERROR, SETELEMENT_TWICE_ERROR
Constructor and Description |
---|
Grid()
Constructor for
Grid . |
Grid(int rows,
int columns)
Constructs a grid with the requested size.
|
Modifier and Type | Method and Description |
---|---|
boolean |
clearCell(int row,
int column)
Replaces the contents of the specified cell with a single space.
|
protected Element |
createCell()
Creates a new, empty cell.
|
int |
getCellCount(int row)
Return number of columns.
|
int |
getColumnCount()
Gets the number of columns in this grid.
|
int |
getRowCount()
Return number of rows.
|
int |
insertRow(int beforeRow)
Inserts a new row into the table.
|
protected void |
prepareCell(int row,
int column)
Checks that a cell is a valid cell in the table.
|
protected void |
prepareColumn(int column)
Checks that the column index is valid.
|
protected void |
prepareRow(int row)
Checks that the row index is valid.
|
void |
removeRow(int row)
Removes the specified row from the table.
|
void |
resize(int rows,
int columns)
Resizes the grid.
|
void |
resizeColumns(int columns)
Resizes the grid to the specified number of columns.
|
void |
resizeRows(int rows)
Resizes the grid to the specified number of rows.
|
addCells, addClickHandler, addDoubleClickHandler, addDragEndHandler, addDragEnterHandler, addDragHandler, addDragLeaveHandler, addDragOverHandler, addDragStartHandler, addDropHandler, addTableListener, checkCellBounds, checkRowBounds, clear, clear, getBodyElement, getCellForEvent, getCellFormatter, getCellPadding, getCellSpacing, getColumnFormatter, getDOMCellCount, getDOMCellCount, getDOMCellCount, getDOMRowCount, getDOMRowCount, getDOMRowCount, getEventTargetCell, getHTML, getRowFormatter, getText, getWidget, insertCell, insertCells, internalClearCell, internalClearCell, isCellPresent, iterator, onEnsureDebugId, remove, removeCell, removeTableListener, setBorderWidth, setCellFormatter, setCellPadding, setCellSpacing, setColumnFormatter, setHTML, setHTML, setRowFormatter, setText, setWidget, setWidget
add, add, adopt, doAttachChildren, doDetachChildren, orphan, remove
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, ensureHandlers, fireEvent, getHandlerCount, getHandlerManager, getLayoutData, getParent, isAttached, isOrWasAttached, onAttach, onBrowserEvent, onDetach, onLoad, onUnload, removeFromParent, replaceElement, setLayoutData, setParent, sinkEvents, unsinkEvents
addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
fireEvent
protected int numColumns
protected int numRows
public Grid()
Grid
.public Grid(int rows, int columns)
rows
- the number of rowscolumns
- the number of columnsjava.lang.IndexOutOfBoundsException
public boolean clearCell(int row, int column)
public int getCellCount(int row)
getCellCount
in class HTMLTable
row
- the row whose cells are to be countedpublic int getColumnCount()
public int getRowCount()
getRowCount
in class HTMLTable
public int insertRow(int beforeRow)
resize(int, int)
or resizeRows(int)
as they are more
efficient.public void removeRow(int row)
HTMLTable
public void resize(int rows, int columns)
rows
- the number of rowscolumns
- the number of columnsjava.lang.IndexOutOfBoundsException
public void resizeColumns(int columns)
columns
- the number of columnsjava.lang.IndexOutOfBoundsException
public void resizeRows(int rows)
rows
- the number of rowsjava.lang.IndexOutOfBoundsException
protected Element createCell()
createCell
in class HTMLTable
protected void prepareCell(int row, int column)
prepareCell
in class HTMLTable
row
- the cell's rowcolumn
- the cell's columnjava.lang.IndexOutOfBoundsException
protected void prepareColumn(int column)
prepareColumn
in class HTMLTable
column
- The column index to be checkedjava.lang.IndexOutOfBoundsException
- if the column is negativeprotected void prepareRow(int row)
prepareRow
in class HTMLTable
row
- The row index to be checkedjava.lang.IndexOutOfBoundsException
- if the row is negative