/**
* Are the headers for the columns visible
*/
- private boolean columnHeadersVisible = false;
+ private boolean columnHeadersVisible = true;
/**
* Are the footers for the columns visible
*/
private boolean columnFootersVisible = false;
+ /**
+ * The last column frozen counter from the left
+ */
private GridColumn<?, T> lastFrozenColumn;
/**
/**
* Should the column be visible in the grid
*/
- private boolean visible;
+ private boolean visible = true;
/**
* The text displayed in the header of the column
setVisible(this.visible);
setWidth(this.width);
+ setHeaderCaption(this.header);
+ setFooterCaption(this.footer);
}
/**
if (grid != null) {
grid.refreshHeader();
-
}
}
// column headers
for (Cell cell : cellsToUpdate) {
GridColumn<?, T> column = getColumnFromVisibleIndex(cell
- .getColumn());
+ .getColumn());
if (column != null) {
cell.getElement().setInnerText(getColumnValue(column));
}
columns.add(index, column);
// Insert column into escalator
- ColumnConfiguration conf = escalator.getColumnConfiguration();
- conf.insertColumns(index, 1);
+ if (column.isVisible()) {
+ int visibleIndex = findVisibleColumnIndex(column);
+ ColumnConfiguration conf = escalator.getColumnConfiguration();
+ conf.insertColumns(visibleIndex, 1);
+ }
// Register this grid instance with the column
((AbstractGridColumn<?, T>) column).setGrid(this);
public void removeColumn(GridColumn<?, T> column) {
int columnIndex = columns.indexOf(column);
+ int visibleIndex = findVisibleColumnIndex(column);
columns.remove(columnIndex);
// de-register column with grid
((AbstractGridColumn<?, T>) column).setGrid(null);
- ColumnConfiguration conf = escalator.getColumnConfiguration();
- conf.removeColumns(columnIndex, 1);
+ if (column.isVisible()) {
+ ColumnConfiguration conf = escalator.getColumnConfiguration();
+ conf.removeColumns(visibleIndex, 1);
+ }
if (column.equals(lastFrozenColumn)) {
setLastFrozenColumn(null);