private void clearAffix() { table.getTableHeadElement().removeClassName(AFFIX_CLASS_NAME); table.getTableHeadElement().getStyle().clearTop(); widthApplier.clearHeaderWidthInformation(); }
private void setAffix() { table.getTableHeadElement().addClassName(AFFIX_CLASS_NAME); table.getTableHeadElement().getStyle().setTop(scrollAncestor != null ? scrollAncestor.getAbsoluteTop() : 0, Style.Unit.PX); widthApplier.restoreHeaderWidthInformation(); }
private void setHeaderWidthInformation(boolean shouldAffix) { // header if (shouldAffix) { table.getTableHeadElement().getStyle().setWidth(headerWidth, Style.Unit.PX); } else { table.getTableHeadElement().getStyle().clearWidth(); } final NodeList<TableRowElement> headerRows = table.getTableHeadElement().getRows(); for (int i = 0; i < headerRows.getLength(); i++) { final TableRowElement row = headerRows.getItem(i); // rows if (shouldAffix) { row.getStyle().setWidth(headerRowToWidthMap.get(i), Style.Unit.PX); } else { row.getStyle().clearWidth(); } // cells final NodeList<TableCellElement> cells = row.getCells(); for (int j = 0; j < cells.getLength(); j++) { final TableCellElement cell = cells.getItem(j); if (shouldAffix) { cell.getStyle().setWidth(headerCellToWidthMap.get(new Pair<>(i, j)), Style.Unit.PX); } else { cell.getStyle().clearWidth(); } } } }
protected void updateColumnHidden(int index, boolean hidden) { int tw = getTotalWidth(); String display = hidden ? "none" : ""; El.fly(innerHd.dom.getFirstChildElement()).setWidth(getOffsetWidth()); El.fly(innerHd.dom.getFirstChildElement().getFirstChildElement()).setWidth(tw); header.updateColumnHidden(index, hidden); if (footer != null) { footer.updateTotalWidth(getOffsetWidth(), tw); footer.updateColumnHidden(index, hidden); } NodeList<Element> ns = getRows(); for (int i = 0, len = ns.getLength(); i < len; i++) { Element elem = ns.getItem(i); elem.getStyle().setProperty("width", tw + "px"); TableSectionElement e = (TableSectionElement) elem.getFirstChild(); if (e != null) { e.getStyle().setProperty("width", tw + "px"); Element cell = e.getRows().getItem(0).getChildNodes().getItem(index).cast(); cell.getStyle().setProperty("display", display); } } templateOnColumnHiddenUpdated(index, hidden, tw); lastViewWidth = -1; layout(); syncHScroll(); }