public TableRenderingContext(
FacesContext context,
RenderingContext arc,
UIComponent component)
{
CollectionComponent collectionComponent =
(CollectionComponent) component;
// =-=AEW Don't like this here: move it out to the Renderer
collectionComponent.setRowIndex(-1);
String tableId = component.getClientId(context);
_table = component;
_tableId = tableId;
_columnCount = component.getChildCount();
_collectionComponent = collectionComponent;
// Bug 3931544: don't use colons in Javascript variable names.
// We'll just replace colons with underscores; not perfect, but adequate
_jsVarName = "_uixt_" + XhtmlUtils.getJSIdentifier(tableId);
_rowData = new RowData(this);
_columnData = new ColumnData();
int length = getColumnCount();
_hiddenColumns = new int[length];
_gatherChildInformation(component);
_columnData.setColumnCount(length - _hiddenColumnCount);
// create the RenderStage
_renderStage = new RenderStage();
_detail = CoreRenderer.getFacet(component,
CoreTable.DETAIL_STAMP_FACET);
_tableWidth = _getAttr(component, CoreTable.WIDTH_KEY);
// special secret attribute to get scrolling in tables for ECM:
_tableHeight = component.getAttributes().get("height");
int rows = collectionComponent.getRowCount();
boolean hasNav =
(rows > getRowData().getVisibleRowCount()) || (rows < 0);
_hasNavigation = hasNav;
String rowSelection = (String) _getAttr(component, CoreTable.ROW_SELECTION_KEY);