public interface Grid
SpreadsheetCell in order
to be used by the SpreadsheetView.
A Grid is used by SpreadsheetView to represent the data to show on
screen. A default implementation is provided by GridBase, but for
more custom purposes (e.g. loading data on demand), this Grid interface may
prove useful.
A Grid at its essence consists of rows and columns. Critical to the
SpreadsheetView is that the row count and
column count are accurately returned when requested
(even if the data returned by getRows() is not all fully loaded into
memory).
Whilst the getRows() return type may appear confusing, it is
actually quite logical when you think about it: getRows() returns an
ObservableList of ObservableList of SpreadsheetCell instances. In other
words, this is your classic 2D collection, where the outer ObservableList
can be thought of as the rows, and the inner ObservableList as the columns
within each row. Therefore, if you are wanting to iterate through all columns
in every row of the grid, you would do something like this:
Grid grid = ...
for (int row = 0; row < grid.getRowCount(); row++) {
for (int column = 0; column < grid.getColumnCount(); column++) {
SpreadsheetCell<?> cell = getRows().get(row).get(column);
doStuff(cell);
}
}
SpreadsheetView,
GridBase,
SpreadsheetCell| Modifier and Type | Method and Description |
|---|---|
<E extends GridChange> |
addEventHandler(EventType<E> eventType,
EventHandler<E> eventHandler)
Registers an event handler to this Grid.
|
int |
getColumnCount()
Return how many columns are inside the grid.
|
int |
getRowCount()
Return how many rows are inside the grid.
|
double |
getRowHeight(int row)
Return the height of a row.
|
ObservableList<ObservableList<SpreadsheetCell>> |
getRows()
Return an ObservableList of ObservableList of
SpreadsheetCell
instances. |
SpreadsheetView.SpanType |
getSpanType(SpreadsheetView spv,
int row,
int column)
Return the
SpreadsheetView.SpanType for a given cell row/column intersection. |
<E extends GridChange> |
removeEventHandler(EventType<E> eventType,
EventHandler<E> eventHandler)
Unregisters a previously registered event handler from this Grid.
|
void |
setCellValue(int row,
int column,
Object value)
Change the value situated at the intersection if possible.
|
int getRowCount()
int getColumnCount()
ObservableList<ObservableList<SpreadsheetCell>> getRows()
SpreadsheetCell
instances. Refer to the Grid class javadoc for more detail.SpreadsheetCell
instancesvoid setCellValue(int row,
int column,
Object value)
SpreadsheetCellType.match(Object)
and SpreadsheetCellType.convertValue(Object).row - column - value - SpreadsheetView.SpanType getSpanType(SpreadsheetView spv, int row, int column)
SpreadsheetView.SpanType for a given cell row/column intersection.spv - row - column - SpreadsheetView.SpanType for a given cell row/column intersection.double getRowHeight(int row)
Callbackprovided at the
initialization. If nothing's found, default height will be taken.row - <E extends GridChange> void addEventHandler(EventType<E> eventType, EventHandler<E> eventHandler)
SpreadsheetCell's value
will change.eventType - the type of the events to receive by the handlereventHandler - the handler to registerNullPointerException - if the event type or handler is null<E extends GridChange> void removeEventHandler(EventType<E> eventType, EventHandler<E> eventHandler)
eventType - the event type from which to unregistereventHandler - the handler to unregisterNullPointerException - if the event type or handler is null