List of usage examples for com.google.gwt.aria.client Roles getGridcellRole
public static GridcellRole getGridcellRole()
From source file:com.example.test.client.VMultiSelectCalendarWidget.java
License:Apache License
/** * Sets the selection highlight to a given day in the current view * /*from w ww . j a v a2s . c o m*/ * @param date * A Date representing the day of month to be selected. Must be one of the days currently visible. * */ private void toggleDate(Date date) { DayWidget dayToSelect = new DayWidget(date); for (DayWidget day : getDayWidgets()) { if (day.equals(dayToSelect)) { if (selectedDays.contains(day)) { day.removeStyleDependentName(CN_SELECTED); Roles.getGridcellRole().removeAriaSelectedState(day.getElement()); selectedDays.remove(day); } else { day.addStyleDependentName(CN_SELECTED); Roles.getGridcellRole().setAriaSelectedState(day.getElement(), SelectedValue.TRUE); selectedDays.add(day); } } } }
From source file:com.example.test.client.VMultiSelectCalendarWidget.java
License:Apache License
/** * Builds the day and time selectors of the calendar. *//*from www .j a va 2 s .c o m*/ private void buildCalendarBody() { final int weekColumn = 0; final int firstWeekdayColumn = 1; final int headerRow = 0; setWidget(1, 0, daysTable); setCellPadding(0); setCellSpacing(0); getFlexCellFormatter().setColSpan(1, 0, 5); getFlexCellFormatter().setStyleName(1, 0, STYLE_PRIMARY + "-calendarpanel-body"); daysTable.getFlexCellFormatter().setStyleName(headerRow, weekColumn, "v-week"); daysTable.setHTML(headerRow, weekColumn, "<strong></strong>"); // Hide the week column if week numbers are not to be displayed. daysTable.getFlexCellFormatter().setVisible(headerRow, weekColumn, isShowISOWeekNumbers()); daysTable.getRowFormatter().setStyleName(headerRow, STYLE_PRIMARY + "-calendarpanel-weekdays"); if (isShowISOWeekNumbers()) { daysTable.getFlexCellFormatter().setStyleName(headerRow, weekColumn, "v-first"); daysTable.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn, ""); daysTable.getRowFormatter().addStyleName(headerRow, STYLE_PRIMARY + "-calendarpanel-weeknumbers"); } else { daysTable.getFlexCellFormatter().setStyleName(headerRow, weekColumn, ""); daysTable.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn, "v-first"); } daysTable.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn + 6, "v-last"); // Print weekday names final int firstDay = getDateTimeService().getFirstDayOfWeek(); for (int i = 0; i < 7; i++) { int day = i + firstDay; if (day > 6) { day = 0; } daysTable.setHTML(headerRow, firstWeekdayColumn + i, "<strong>" + getDateTimeService().getShortDay(day) + "</strong>"); Roles.getColumnheaderRole() .set(daysTable.getCellFormatter().getElement(headerRow, firstWeekdayColumn + i)); } // Zero out hours, minutes, seconds, and milliseconds to compare dates // without time part final Date tmp = new Date(); final Date today = new Date(tmp.getYear(), tmp.getMonth(), tmp.getDate()); //final Date selectedDate = value == null ? null : new Date(value.getYear(), value.getMonth(), value.getDate()); final int startWeekDay = getDateTimeService().getStartWeekDay(displayedMonth); final Date dateToAdd = (Date) displayedMonth.clone(); // Start from the first day of the week that at least partially belongs // to the current month dateToAdd.setDate(1 - startWeekDay); // No month has more than 6 weeks so 6 is a safe maximum for rows. for (int weekOfMonth = 1; weekOfMonth < 7; weekOfMonth++) { for (int dayOfWeek = 0; dayOfWeek < 7; dayOfWeek++) { // Actually write the day of month Date dayDate = (Date) dateToAdd.clone(); DayWidget day = new DayWidget(dayDate); day.setStyleName(STYLE_PRIMARY + "-calendarpanel-day"); if (!isDateInsideRange(dayDate, Resolution.DAY)) { day.addStyleDependentName(CN_OUTSIDE_RANGE); } //if (dateToAdd.equals(selectedDate)) { if (selectedDates.contains(dateToAdd)) { day.addStyleDependentName(CN_SELECTED); Roles.getGridcellRole().setAriaSelectedState(day.getElement(), SelectedValue.TRUE); selectedDays.add(day); } if (dateToAdd.equals(today)) { day.addStyleDependentName(CN_TODAY); } if (focusedDay != null && dateToAdd.equals(focusedDay.getDate())) { focusedDay = day; if (hasFocus) { day.addStyleDependentName(CN_FOCUSED); } } if (dateToAdd.getMonth() != displayedMonth.getMonth()) { day.addStyleDependentName(CN_OFFMONTH); } daysTable.setWidget(weekOfMonth, firstWeekdayColumn + dayOfWeek, day); Roles.getGridcellRole() .set(daysTable.getCellFormatter().getElement(weekOfMonth, firstWeekdayColumn + dayOfWeek)); // ISO week numbers if requested daysTable.getCellFormatter().setVisible(weekOfMonth, weekColumn, isShowISOWeekNumbers()); if (isShowISOWeekNumbers()) { final String baseCssClass = STYLE_PRIMARY + "-calendarpanel-weeknumber"; String weekCssClass = baseCssClass; int weekNumber = DateTimeService.getISOWeekNumber(dateToAdd); daysTable.setHTML(weekOfMonth, 0, "<span class=\"" + weekCssClass + "\"" + ">" + weekNumber + "</span>"); } dateToAdd.setDate(dateToAdd.getDate() + 1); } } }
From source file:com.vaadin.client.ui.VAbstractCalendarPanel.java
License:Apache License
/** * Sets the selection highlight to a given day in the current view * * @param date/* w w w . j a v a 2 s . c o m*/ * A Date representing the day of month to be selected. Must be * one of the days currently visible. * */ private void selectDate(Date date) { if (selectedDay != null) { selectedDay.removeStyleDependentName(CN_SELECTED); Roles.getGridcellRole().removeAriaSelectedState(selectedDay.getElement()); } int rowCount = days.getRowCount(); for (int i = 0; i < rowCount; i++) { int cellCount = days.getCellCount(i); for (int j = 0; j < cellCount; j++) { Widget widget = days.getWidget(i, j); if (widget != null && widget instanceof VAbstractCalendarPanel.Day) { Day curday = (Day) widget; if (curday.getDate().equals(date)) { curday.addStyleDependentName(CN_SELECTED); selectedDay = curday; Roles.getGridcellRole().setAriaSelectedState(selectedDay.getElement(), SelectedValue.TRUE); return; } } } } }
From source file:com.vaadin.client.ui.VAbstractCalendarPanel.java
License:Apache License
/** * Builds the day and time selectors of the calendar. *//*from w w w . j a va 2 s . c o m*/ private void buildCalendarBody() { final int weekColumn = 0; final int firstWeekdayColumn = 1; final int headerRow = 0; setWidget(1, 0, days); setCellPadding(0); setCellSpacing(0); getFlexCellFormatter().setColSpan(1, 0, 5); getFlexCellFormatter().setStyleName(1, 0, getDateField().getStylePrimaryName() + "-calendarpanel-body"); days.getFlexCellFormatter().setStyleName(headerRow, weekColumn, "v-week"); days.setHTML(headerRow, weekColumn, "<strong></strong>"); // Hide the week column if week numbers are not to be displayed. days.getFlexCellFormatter().setVisible(headerRow, weekColumn, isShowISOWeekNumbers()); days.getRowFormatter().setStyleName(headerRow, getDateField().getStylePrimaryName() + "-calendarpanel-weekdays"); if (isShowISOWeekNumbers()) { days.getFlexCellFormatter().setStyleName(headerRow, weekColumn, "v-first"); days.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn, ""); days.getRowFormatter().addStyleName(headerRow, getDateField().getStylePrimaryName() + "-calendarpanel-weeknumbers"); } else { days.getFlexCellFormatter().setStyleName(headerRow, weekColumn, ""); days.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn, "v-first"); } days.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn + 6, "v-last"); // Print weekday names final int firstDay = getDateTimeService().getFirstDayOfWeek(); for (int i = 0; i < 7; i++) { int day = i + firstDay; if (day > 6) { day = 0; } if (isBelowMonth(getResolution())) { days.setHTML(headerRow, firstWeekdayColumn + i, "<strong>" + getDateTimeService().getShortDay(day) + "</strong>"); } else { days.setHTML(headerRow, firstWeekdayColumn + i, ""); } Roles.getColumnheaderRole().set(days.getCellFormatter().getElement(headerRow, firstWeekdayColumn + i)); } // Zero out hours, minutes, seconds, and milliseconds to compare dates // without time part final Date tmp = new Date(); final Date today = new Date(tmp.getYear(), tmp.getMonth(), tmp.getDate()); final Date selectedDate = value == null ? null : new Date(value.getYear(), value.getMonth(), value.getDate()); final int startWeekDay = getDateTimeService().getStartWeekDay(displayedMonth); final Date curr = (Date) displayedMonth.clone(); // Start from the first day of the week that at least partially belongs // to the current month curr.setDate(1 - startWeekDay); // No month has more than 6 weeks so 6 is a safe maximum for rows. for (int weekOfMonth = 1; weekOfMonth < 7; weekOfMonth++) { for (int dayOfWeek = 0; dayOfWeek < 7; dayOfWeek++) { // Actually write the day of month Date dayDate = (Date) curr.clone(); Day day = new Day(dayDate); day.setStyleName(getDateField().getStylePrimaryName() + "-calendarpanel-day"); if (!isDateInsideRange(dayDate, getResolution(this::isDay))) { day.addStyleDependentName(CN_OUTSIDE_RANGE); } if (curr.equals(selectedDate)) { day.addStyleDependentName(CN_SELECTED); Roles.getGridcellRole().setAriaSelectedState(day.getElement(), SelectedValue.TRUE); selectedDay = day; } if (curr.equals(today)) { day.addStyleDependentName(CN_TODAY); } if (curr.equals(focusedDate)) { focusedDay = day; if (hasFocus) { day.addStyleDependentName(CN_FOCUSED); } } if (curr.getMonth() != displayedMonth.getMonth()) { day.addStyleDependentName(CN_OFFMONTH); } days.setWidget(weekOfMonth, firstWeekdayColumn + dayOfWeek, day); Roles.getGridcellRole() .set(days.getCellFormatter().getElement(weekOfMonth, firstWeekdayColumn + dayOfWeek)); // ISO week numbers if requested days.getCellFormatter().setVisible(weekOfMonth, weekColumn, isShowISOWeekNumbers()); if (isShowISOWeekNumbers()) { final String baseCssClass = getDateField().getStylePrimaryName() + "-calendarpanel-weeknumber"; String weekCssClass = baseCssClass; int weekNumber = DateTimeService.getISOWeekNumber(curr); days.setHTML(weekOfMonth, 0, "<span class=\"" + weekCssClass + "\"" + ">" + weekNumber + "</span>"); } curr.setDate(curr.getDate() + 1); } } }
From source file:com.vaadin.client.ui.VCalendarPanel.java
License:Apache License
/** * Sets the selection highlight to a given day in the current view * // ww w. jav a 2 s . com * @param date * A Date representing the day of month to be selected. Must be * one of the days currently visible. * */ private void selectDate(Date date) { if (selectedDay != null) { selectedDay.removeStyleDependentName(CN_SELECTED); Roles.getGridcellRole().removeAriaSelectedState(selectedDay.getElement()); } int rowCount = days.getRowCount(); for (int i = 0; i < rowCount; i++) { int cellCount = days.getCellCount(i); for (int j = 0; j < cellCount; j++) { Widget widget = days.getWidget(i, j); if (widget != null && widget instanceof Day) { Day curday = (Day) widget; if (curday.getDate().equals(date)) { curday.addStyleDependentName(CN_SELECTED); selectedDay = curday; Roles.getGridcellRole().setAriaSelectedState(selectedDay.getElement(), SelectedValue.TRUE); return; } } } } }
From source file:com.vaadin.client.ui.VCalendarPanel.java
License:Apache License
/** * Builds the day and time selectors of the calendar. *///ww w .jav a2 s. c o m private void buildCalendarBody() { final int weekColumn = 0; final int firstWeekdayColumn = 1; final int headerRow = 0; setWidget(1, 0, days); setCellPadding(0); setCellSpacing(0); getFlexCellFormatter().setColSpan(1, 0, 5); getFlexCellFormatter().setStyleName(1, 0, parent.getStylePrimaryName() + "-calendarpanel-body"); days.getFlexCellFormatter().setStyleName(headerRow, weekColumn, "v-week"); days.setHTML(headerRow, weekColumn, "<strong></strong>"); // Hide the week column if week numbers are not to be displayed. days.getFlexCellFormatter().setVisible(headerRow, weekColumn, isShowISOWeekNumbers()); days.getRowFormatter().setStyleName(headerRow, parent.getStylePrimaryName() + "-calendarpanel-weekdays"); if (isShowISOWeekNumbers()) { days.getFlexCellFormatter().setStyleName(headerRow, weekColumn, "v-first"); days.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn, ""); days.getRowFormatter().addStyleName(headerRow, parent.getStylePrimaryName() + "-calendarpanel-weeknumbers"); } else { days.getFlexCellFormatter().setStyleName(headerRow, weekColumn, ""); days.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn, "v-first"); } days.getFlexCellFormatter().setStyleName(headerRow, firstWeekdayColumn + 6, "v-last"); // Print weekday names final int firstDay = getDateTimeService().getFirstDayOfWeek(); for (int i = 0; i < 7; i++) { int day = i + firstDay; if (day > 6) { day = 0; } if (getResolution().getCalendarField() > Resolution.MONTH.getCalendarField()) { days.setHTML(headerRow, firstWeekdayColumn + i, "<strong>" + getDateTimeService().getShortDay(day) + "</strong>"); } else { days.setHTML(headerRow, firstWeekdayColumn + i, ""); } Roles.getColumnheaderRole().set(days.getCellFormatter().getElement(headerRow, firstWeekdayColumn + i)); } // Zero out hours, minutes, seconds, and milliseconds to compare dates // without time part final Date tmp = new Date(); final Date today = new Date(tmp.getYear(), tmp.getMonth(), tmp.getDate()); final Date selectedDate = value == null ? null : new Date(value.getYear(), value.getMonth(), value.getDate()); final int startWeekDay = getDateTimeService().getStartWeekDay(displayedMonth); final Date curr = (Date) displayedMonth.clone(); // Start from the first day of the week that at least partially belongs // to the current month curr.setDate(1 - startWeekDay); // No month has more than 6 weeks so 6 is a safe maximum for rows. for (int weekOfMonth = 1; weekOfMonth < 7; weekOfMonth++) { for (int dayOfWeek = 0; dayOfWeek < 7; dayOfWeek++) { // Actually write the day of month Date dayDate = (Date) curr.clone(); Day day = new Day(dayDate); day.setStyleName(parent.getStylePrimaryName() + "-calendarpanel-day"); if (!isDateInsideRange(dayDate, Resolution.DAY)) { day.addStyleDependentName(CN_OUTSIDE_RANGE); } if (curr.equals(selectedDate)) { day.addStyleDependentName(CN_SELECTED); Roles.getGridcellRole().setAriaSelectedState(day.getElement(), SelectedValue.TRUE); selectedDay = day; } if (curr.equals(today)) { day.addStyleDependentName(CN_TODAY); } if (curr.equals(focusedDate)) { focusedDay = day; if (hasFocus) { day.addStyleDependentName(CN_FOCUSED); } } if (curr.getMonth() != displayedMonth.getMonth()) { day.addStyleDependentName(CN_OFFMONTH); } days.setWidget(weekOfMonth, firstWeekdayColumn + dayOfWeek, day); Roles.getGridcellRole() .set(days.getCellFormatter().getElement(weekOfMonth, firstWeekdayColumn + dayOfWeek)); // ISO week numbers if requested days.getCellFormatter().setVisible(weekOfMonth, weekColumn, isShowISOWeekNumbers()); if (isShowISOWeekNumbers()) { final String baseCssClass = parent.getStylePrimaryName() + "-calendarpanel-weeknumber"; String weekCssClass = baseCssClass; int weekNumber = DateTimeService.getISOWeekNumber(curr); days.setHTML(weekOfMonth, 0, "<span class=\"" + weekCssClass + "\"" + ">" + weekNumber + "</span>"); } curr.setDate(curr.getDate() + 1); } } }
From source file:org.unitime.timetable.gwt.client.widgets.UniTimeTable.java
License:Apache License
public void setRow(int row, T data, List<? extends Widget> widgets) { SmartTableRow<T> oldRow = getSmartRow(row); if (oldRow != null && oldRow.getData() != null) { DataChangedEvent<T> event = new DataChangedEvent<T>(oldRow.getData(), row); for (DataChangedListener<T> listener : iDataChangedListeners) listener.onDataRemoved(event); }/*ww w . ja v a 2s. com*/ SmartTableRow smartRow = new SmartTableRow(data); int col = 0, x = 0; for (Widget widget : widgets) { SmartTableCell cell = new SmartTableCell(smartRow, widget); int colspan = 1; if (widget instanceof HasColSpan) { colspan = ((HasColSpan) widget).getColSpan(); getFlexCellFormatter().setColSpan(row, col, colspan); } if (widget instanceof HasStyleName && ((HasStyleName) widget).getStyleName() != null) getFlexCellFormatter().setStyleName(row, col, ((HasStyleName) widget).getStyleName()); if (widget instanceof HasAdditionalStyleNames) { List<String> styleNames = ((HasAdditionalStyleNames) widget).getAdditionalStyleNames(); if (styleNames != null) for (String styleName : styleNames) getFlexCellFormatter().addStyleName(row, col, styleName); } if (widget instanceof HasCellAlignment) getFlexCellFormatter().setHorizontalAlignment(row, col, ((HasCellAlignment) widget).getCellAlignment()); if (widget instanceof HasVerticalCellAlignment) getFlexCellFormatter().setVerticalAlignment(row, col, ((HasVerticalCellAlignment) widget).getVerticalCellAlignment()); if (widget instanceof HasColumn) ((HasColumn) widget).setColumn(col); setWidget(row, col, cell); if (widget instanceof UniTimeTableHeader) { Roles.getColumnheaderRole().set(getCellFormatter().getElement(row, col)); } else { Roles.getGridcellRole().set(getCellFormatter().getElement(row, col)); } x += colspan; if (row > 0) { if (colspan == 1) { getCellFormatter().setVisible(row, col, isColumnVisible(x - 1)); } else { int span = 0; for (int h = x - colspan; h < x; h++) if (isColumnVisible(h)) span++; getCellFormatter().setVisible(row, col, span > 0); getFlexCellFormatter().setColSpan(row, col, Math.max(1, span)); } } col++; } Roles.getRowRole().set(getRowFormatter().getElement(row)); if (data != null) { DataChangedEvent<T> event = new DataChangedEvent<T>(data, row); for (DataChangedListener<T> listener : iDataChangedListeners) listener.onDataInserted(event); } }
From source file:org.unitime.timetable.gwt.client.widgets.WebTable.java
License:Apache License
public void setHeader(Row... header) { iHeader = header;//w ww. j a v a2 s.c o m for (int i = 0; i < header.length; i++) { for (int j = 0; j < header[i].getNrCells(); j++) { Cell cell = header[i].getCell(j); if (cell.getWidget() == null) { iTable.setHTML(i, j, (cell.getValue() == null || cell.getValue().isEmpty() ? " " : cell.getValue())); if (cell.getAriaLabel() != null && !cell.getAriaLabel().isEmpty()) Roles.getGridcellRole().setAriaLabelProperty(iTable.getCellFormatter().getElement(i, j), cell.getAriaLabel()); } else iTable.setWidget(i, j, cell.getWidget()); iTable.getFlexCellFormatter().setWordWrap(i, j, cell.getWordWrap()); iTable.getFlexCellFormatter().setStyleName(i, j, (cell.getStyleName() == null ? "unitime-TableHeader" : cell.getStyleName())); iTable.getFlexCellFormatter().setWidth(i, j, (cell.getWidth() == null ? (100 / header.length) + "%" : cell.getWidth())); iTable.getFlexCellFormatter().setColSpan(i, j, cell.getColSpan()); iTable.getFlexCellFormatter().setVerticalAlignment(i, j, cell.getVerticalAlignment()); iTable.getFlexCellFormatter().setHorizontalAlignment(i, j, cell.getHorizontalAlignment()); iTable.getFlexCellFormatter().getElement(i, j).setTitle(cell.getTitle()); Roles.getColumnheaderRole().set(iTable.getCellFormatter().getElement(i, j)); } Roles.getRowRole().set(iTable.getRowFormatter().getElement(i)); if (header[i].getAriaLabel() != null && !header[i].getAriaLabel().isEmpty()) { iTable.setWidget(i, header[i].getNrCells(), new AriaHiddenLabel(header[i].getAriaLabel())); } else { iTable.setHTML(i, header[i].getNrCells(), ""); } Roles.getRowheaderRole().set(iTable.getCellFormatter().getElement(i, header[i].getNrCells())); iTable.getFlexCellFormatter().setStyleName(i, header[i].getNrCells(), "unitime-TableHeader"); iTable.getFlexCellFormatter().addStyleName(i, header[i].getNrCells(), "rowheader"); } }
From source file:org.unitime.timetable.gwt.client.widgets.WebTable.java
License:Apache License
public void setData(Row... rows) { setSelectedRow(-1);/* ww w. j av a2 s. c o m*/ if (rows == null || rows.length == 0) { clearData(true); return; } clearData(rows.length); iRows = rows; for (int i = 0; i < iRows.length; i++) { if (iRows[i] == null) continue; iRows[i].setRowIdx(i); iRows[i].setTable(this); iTable.getRowFormatter().setStyleName(i + getHeaderRowsCount(), null); for (int j = 0; j < iRows[i].getNrCells(); j++) { Cell cell = iRows[i].getCell(j); cell.setColIdx(j); cell.setRow(iRows[i]); if (cell.getWidget() == null) { iTable.setHTML(i + getHeaderRowsCount(), j, (cell.getValue() == null || cell.getValue().isEmpty() ? " " : cell.getValue())); if (cell.getAriaLabel() != null && !cell.getAriaLabel().isEmpty()) Roles.getGridcellRole().setAriaLabelProperty( iTable.getCellFormatter().getElement(i + getHeaderRowsCount(), j), cell.getAriaLabel()); } else iTable.setWidget(i + getHeaderRowsCount(), j, cell.getWidget()); iTable.getFlexCellFormatter().setWordWrap(i + getHeaderRowsCount(), j, cell.getWordWrap()); iTable.getFlexCellFormatter().setColSpan(i + getHeaderRowsCount(), j, cell.getColSpan()); iTable.getFlexCellFormatter().setStyleName(i + getHeaderRowsCount(), j, cell.getStyleName()); iTable.getFlexCellFormatter().setWidth(i + getHeaderRowsCount(), j, cell.getWidth()); iTable.getFlexCellFormatter().setVerticalAlignment(i + getHeaderRowsCount(), j, cell.getVerticalAlignment()); iTable.getFlexCellFormatter().setHorizontalAlignment(i + getHeaderRowsCount(), j, cell.getHorizontalAlignment()); iTable.getFlexCellFormatter().getElement(i + getHeaderRowsCount(), j).setTitle(cell.getTitle()); Roles.getGridcellRole().set(iTable.getCellFormatter().getElement(i + getHeaderRowsCount(), j)); } Roles.getRowRole().set(iTable.getRowFormatter().getElement(i + getHeaderRowsCount())); for (int j = iTable.getCellCount(i + getHeaderRowsCount()) - 1; j >= iRows[i].getNrCells(); j--) iTable.removeCell(i + getHeaderRowsCount(), j); if (iRows[i].getAriaLabel() != null && !iRows[i].getAriaLabel().isEmpty()) { iTable.setWidget(i + getHeaderRowsCount(), iRows[i].getNrCells(), new AriaHiddenLabel(iRows[i].getAriaLabel())); } else { iTable.setHTML(i + getHeaderRowsCount(), iRows[i].getNrCells(), ""); } Roles.getRowheaderRole() .set(iTable.getCellFormatter().getElement(i + getHeaderRowsCount(), iRows[i].getNrCells())); iTable.getFlexCellFormatter().setStyleName(i + getHeaderRowsCount(), iRows[i].getNrCells(), iRows[i].getCell(iRows[i].getNrCells() - 1).getStyleName()); iTable.getFlexCellFormatter().addStyleName(i + getHeaderRowsCount(), iRows[i].getNrCells(), "rowheader"); } }